Retour à la leçon
Mission

Mission : expliquer pourquoi 8 threads n'accélèrent pas un calcul de hash

Diagnostiquer pourquoi le threading n'accélère pas une tâche CPU-bound à cause du GIL, corriger avec multiprocessing, et sécuriser un compteur partagé avec un Lock.

Contexte

Un développeur lance 8 threading.Thread pour calculer le hash de 8 gros fichiers en parallèle, espérant diviser le temps total par 8. Le script prend exactement le même temps qu'avec un seul thread, à quelques millisecondes près, ce qui le rend perplexe puisque sa machine a bien 8 cœurs disponibles.

Tu dois expliquer ce résultat surprenant, corriger le script avec le bon outil de parallélisme, puis sécuriser un compteur partagé entre threads contre une race condition.