Multiprocessing vs. Threading in Python
Hier ist ein Code-Schnipsel für Multiprocessing in Python:
import multiprocessing
def worker(num):
"""thread worker function"""
print(f'Worker: {num}')
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p)
p.start()
Und hier ist ein Code-Schnipsel für Threading in Python:
import threading
def worker(num):
"""thread worker function"""
print(f'Worker: {num}')
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
Der Hauptunterschied zwischen den beiden ist, dass Multiprocessing für jeden Funktionsaufruf separate Prozesse erstellt, während Threading Threads innerhalb desselben Prozesses erstellt. Das bedeutet, dass Multiprocessing auf Systemen mit mehreren Kernen echte parallele Ausführung ermöglicht, während Threading gleichzeitige Ausführung auf einem einzelnen Kern ermöglicht.