Wie es heißt on PYMOTW:
Die Pool-Klasse kann eine feste Anzahl von Arbeitern für einfache Fälle zu verwalten verwendet werden, wo die Arbeit kann getan werden, zerbrochen sein und verteilt auf Arbeiter unabhängig voneinander.
Die Rückgabewerte der Jobs werden gesammelt und als Liste zurückgegeben.
Die Poolargumente enthalten die Anzahl der Prozesse und eine Funktion, die ausgeführt wird, wenn der Taskprozess gestartet wird (einmal pro Kind aufgerufen).
Bitte werfen Sie einen Blick auf die dort angegebenen Beispiele, um die Anwendung, Funktionalitäten und Parameter besser zu verstehen.
Grundsätzlich ist der Pool ein Helfer, der das Management der Prozesse (Workers) erleichtert, wenn sie nur gemeinsame Eingabedaten konsumieren, parallel verarbeiten und eine gemeinsame Ausgabe erstellen müssen.
Der Pool hat durchaus ein paar Dinge, die man sonst selbst (nicht zu hart, aber immer noch, es ist bequem, eine vorgekochten Lösung zu finden) Code sollte
dh
- die Aufspaltung der Eingabedaten
- Die Zielprozessfunktion ist vereinfacht: Sie kann so entworfen werden, dass nur ein Eingabeelement erwartet wird. Der Pool wird es nennen, jedes Element aus der mit dem Arbeitnehmer für die Arbeiter wartet
- zugewiesen Teilmenge bereitstellt, ihre Arbeit zu beenden (dh Verbinden die Prozesse)
- ...
- die Ausgabe jeden Arbeiter zu verschmelzenden produzieren die endgültige Ausgabe
tl; dr-Version: Verwenden Sie Pool für eine einfache Implementierung der Datenparallelität. Nicht allgemein anwendbar für Aufgabenparallelität. – RobertB