Heim  >  Artikel  >  Backend-Entwicklung  >  Anzeige der Python-Prozesspoolfunktion und Beispielanalyse

Anzeige der Python-Prozesspoolfunktion und Beispielanalyse

乌拉乌拉~
乌拉乌拉~Original
2018-08-23 17:41:502114Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn