Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Funktionen mithilfe von Multiprocessing parallel ausführen?

Wie kann ich Python-Funktionen mithilfe von Multiprocessing parallel ausführen?

Susan Sarandon
Freigeben: 2024-11-29 20:07:13
Original
216 Leute haben es durchsucht

How Can I Run Python Functions in Parallel Using Multiprocessing?

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")
Nach dem Login kopieren

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage