Les threads s'exécutent simultanément au sein du même processus, partageant l'espace mémoire. Le Global Interpreter Lock (GIL) de Python limite les threads à une exécution à la fois, ce qui le rend idéal pour les tâches liées aux E/S mais pas pour les tâches gourmandes en CPU.
Exemple : un programme threadé simple
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()
Le multitraitement crée des processus séparés avec un espace mémoire individuel, en contournant le GIL. C'est mieux pour les tâches liées au processeur, comme le traitement des données ou les simulations.
Exemple : bases du multitraitement
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()
Avec les threads, Python effectue plusieurs tâches au sein d'un seul processus. Avec les processus, Python atteint un véritable parallélisme sur plusieurs cœurs. Ensemble, ils rendent votre code efficace et évolutif.
_ ? Bravo pour maîtriser la concurrence en Python !_
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!