In Python kann es wünschenswert sein, mehrere Funktionen gleichzeitig auszuführen, um die Leistung zu optimieren, insbesondere wenn Die Funktionen sind unabhängig und stören sich nicht gegenseitig. In diesem Artikel werden Techniken zum parallelen Ausführen von Funktionen untersucht.
Aufgrund von Einschränkungen des CPython-Interpreters bietet Threading möglicherweise keine echte Parallelität. Multiprocessing bietet jedoch im Allgemeinen eine bessere Leistung.
Betrachten Sie das folgende Beispiel, in dem wir zwei Funktionen, func1 und func2, parallel ausführen möchten:
def func1(): # Some code def func2(): # Some code
Um diese Funktionen gleichzeitig mit Multiprocessing auszuführen, können wir Folgendes verwenden Schritte:
Prozessobjekte für jede Funktion erstellen:
p1 = Process(target=func1) p2 = Process(target=func2)
Prozesse starten:
p1.start() p2.start()
Warten Sie, bis die Prozesse abgeschlossen sind vollständig:
p1.join() p2.join()
Um den Prozess der parallelen Ausführung von Funktionen zu vereinfachen, können wir eine Dienstprogrammfunktion definieren:
def runInParallel(*fns): # Start the processes for fn in fns: p = Process(target=fn) p.start() # Wait for the processes to finish for p in fns: p.join()
Mit dieser Funktion können wir nun die beiden Funktionen problemlos gleichzeitig ausführen:
runInParallel(func1, func2)
Das obige ist der detaillierte Inhalt vonWie kann ich Python-Funktionen mithilfe von Multiprocessing gleichzeitig ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!