Parallele Ausführung von Funktionen
In Python ist die sequentielle Ausführung von Funktionen das Standardverhalten. Bei ressourcenintensiven Vorgängen kann es jedoch von Vorteil sein, mehrere Funktionen gleichzeitig auszuführen, um die Leistung zu verbessern. In diesem Artikel wird erläutert, wie Funktionen mithilfe von Threading oder Multiprocessing parallel ausgeführt werden.
Threading und Multiprocessing sind zwei Bibliotheken, die Mechanismen für Multithreading- bzw. Multiprozessszenarien bereitstellen. Während Threading einfacher ist, bietet Multiprocessing im Allgemeinen eine bessere Leistung für Rechenaufgaben.
Betrachten wir ein Beispiel, in dem wir zwei Funktionen, func1 und func2, parallel ausführen möchten. Mithilfe von Multiprocessing können wir die Funktionen wie folgt definieren:
def func1(): # Function 1 code print("func1: completing") def func2(): # Function 2 code print("func2: completing")
Um die Funktionen parallel auszuführen, können wir den folgenden Ansatz verwenden:
from multiprocessing import Process p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start()
Die start()-Methode initiiert die Prozesse und sie werden gleichzeitig ausgeführt. Um sicherzustellen, dass unser Hauptprozess auf den Abschluss der untergeordneten Prozesse wartet, können wir die Methode join() verwenden:
p1.join() p2.join()
Zusätzlich können wir die parallele Ausführung in eine Hilfsfunktion kapseln:
def runInParallel(*fns): proc = [] for fn in fns: p = Process(target=fn) p.start() proc.append(p) for p in proc: p.join() runInParallel(func1, func2)
Dadurch können wir mehrere Funktionen parallel mit einem einfachen und prägnanten Funktionsaufruf ausführen.
Das obige ist der detaillierte Inhalt vonWie kann ich Python-Funktionen mithilfe von Multiprocessing parallel ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!