Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mithilfe von Multiprocessing mehrere Python-Funktionen parallel ausführen?
Funktionen parallel ausführen: Ein Leitfaden zur Multiverarbeitung
Konzept
Multitasking beinhaltet die Ausführung mehrerer Aufgaben gleichzeitig ausführen, eine Leistung, die entweder durch Threading oder erreicht werden kann Multiprocessing.
Multiprocessing vs. Threading
In Python ist Threading hauptsächlich für E/A-gebundene Vorgänge nützlich. Bei CPU-intensiven Aufgaben bietet Multiprocessing eine bessere Leistung, da mehrere Prozessorkerne genutzt werden.
Funktionen parallel ausführen
Stellen Sie sich das folgende Szenario vor:
import common dir1 = 'C:\folder1' dir2 = 'C:\folder2' filename = 'test.txt' addFiles = [25, 5, 15, 35, 45, 25, 5, 15, 35, 45] def func1(): c = common.Common() for i in range(len(addFiles)): c.createFiles(addFiles[i], filename, dir1) c.getFiles(dir1) time.sleep(10) c.removeFiles(addFiles[i], dir1) c.getFiles(dir1) def func2(): c = common.Common() for i in range(len(addFiles)): c.createFiles(addFiles[i], filename, dir2) c.getFiles(dir2) time.sleep(10) c.removeFiles(addFiles[i], dir2) c.getFiles(dir2)
Um func1 und func2 gleichzeitig auszuführen, sollte Multiprocessing eingesetzt werden. Unten ist ein Beispiel:
from multiprocessing import Process if __name__ == "__main__": p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start() p1.join() p2.join()
Parallele Ausführung kapseln
Der obige Code kann zu einer Funktion vereinfacht werden, die die parallele Ausführung mehrerer Funktionen erleichtert:
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)
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Multiprocessing mehrere Python-Funktionen parallel ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!