Im folgenden Artikel erfahren wir, was der Prozesspool in Python ist. Erfahren Sie mehr über den Python-Prozesspool und welche Rolle der Prozesspool bei der Python-Programmierung spielen kann.
Prozesspool
Die Pool-Klasse beschreibt einen Pool von Arbeitsprozessen. Sie verfügt über verschiedene Methoden für Aufgaben, um Arbeitsprozesse auszulagern.
Der Prozesspool verwaltet intern eine Prozesssequenz, um einen Prozess abzurufen. Wenn in der Prozesspoolsequenz kein Prozess verfügbar ist, wartet das Programm, bis der Prozesspool verfügbar ist Es gibt verfügbare Prozesse.
Wir können die Pool-Klasse verwenden, um einen Prozesspool zu erstellen und die übermittelten Aufgaben auf den Prozesspool zu erweitern.
Lassen Sie uns ein Beispiel geben:
#apply from multiprocessing import Pool import time def f1(i): time.sleep(0.5) print(i) return i + 100 if __name__ == "__main__": pool = Pool(5) for i in range(1,31): pool.apply(func=f1,args=(i,)) #apply_async def f1(i): time.sleep(0.5) print(i) return i + 100 def f2(arg): print(arg) if __name__ == "__main__": pool = Pool(5) for i in range(1,31): pool.apply_async(func=f1,args=(i,),callback=f2) pool.close() pool.join()
Ein Prozesspoolobjekt kann steuern, welche Arbeit im Worker-Prozesspool übermittelt werden kann. Es unterstützt asynchrone Ergebnisse von Zeitüberschreitungen und Rückrufen und verfügt über eine Zuordnung Umsetzung.
Prozesse: Die Anzahl der verwendeten Arbeitsprozesse. Wenn Prozesse „Keine“ sind, verwenden Sie die von os.cpu_count() zurückgegebene Zahl.
initializer: Wenn initializer None ist, ruft jeder Arbeitsprozess zu Beginn initializer(*initargs) auf.
maxtasksperchild: Die Anzahl der Aufgaben, die abgeschlossen werden können, bevor der Arbeitsprozess beendet wird. Nach Abschluss wird ein neuer Arbeitsprozess verwendet, um den ursprünglichen Prozess zu ersetzen, um ungenutzte Ressourcen freizugeben. Der Standardwert für „maxtasksperchild“ ist „None“, was bedeutet, dass der Arbeitsprozess so lange überlebt, wie der Pool existiert.
Kontext: Wird verwendet, um den Kontext festzulegen, wenn der Arbeitsprozess startet. Im Allgemeinen wird multiprocessing.Pool() oder die Pool()-Methode eines Kontextobjekts verwendet, um den Kontext entsprechend festzulegen
Hinweis: Die Methoden des Pool-Objekts können nur von dem Prozess aufgerufen werden, der den Pool erstellt hat.
Das Obige ist der gesamte in diesem Artikel beschriebene Inhalt. In diesem Artikel werden hauptsächlich die relevanten Kenntnisse des Python-Prozesspools vorgestellt. Ich hoffe, dass das, was ich in diesem Artikel beschrieben habe, für Sie hilfreich ist und Ihnen das Erlernen von Python erleichtert.
Weitere Informationen zu diesem Thema finden Sie in der Spalte Python-Tutorial auf der chinesischen PHP-Website.
Das obige ist der detaillierte Inhalt vonAnzeige der Python-Prozesspoolfunktion und Beispielanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!