Retour à la leçonMission
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.