Threads werden gleichzeitig innerhalb desselben Prozesses ausgeführt und teilen sich den Speicherplatz. Pythons Global Interpreter Lock (GIL) beschränkt Threads auf jeweils eine Ausführung und ist somit ideal für E/A-gebundene Aufgaben, aber nicht für CPU-intensive Aufgaben.
Beispiel: Ein einfaches Thread-Programm
import threading def print_numbers(): for i in range(5): print(f"Number: {i}") # Create and start threads thread1 = threading.Thread(target=print_numbers) thread2 = threading.Thread(target=print_numbers) thread1.start() thread2.start() thread1.join() thread2.join()
Multiprocessing erstellt separate Prozesse mit individuellem Speicherplatz und umgeht die GIL. Es eignet sich am besten für CPU-gebundene Aufgaben, wie Datenverarbeitung oder Simulationen.
Beispiel: Multiprocessing-Grundlagen
from multiprocessing import Process def print_numbers(): for i in range(5): print(f"Number: {i}") if __name__ == "__main__": process1 = Process(target=print_numbers) process2 = Process(target=print_numbers) process1.start() process2.start() process1.join() process2.join()
Mit Threads können Python-Multitasks innerhalb eines einzigen Prozesses ausgeführt werden. Mit Prozessen erreicht Python echte Parallelität über mehrere Kerne hinweg. Zusammen machen sie Ihren Code effizient und skalierbar.
_ ? Ein Hoch auf die Beherrschung der Parallelität in Python!_
Das obige ist der detaillierte Inhalt vonPython-Multithreading und Multiprocessing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!