Sous le coude: Pourquoi les threads sont (généralement) une mauvaise idée.
(Voir le lien vers le PDF en haut de page, mais aussi les liens vers divers articles un peu plus bas.)
En tant que développeur, même si c'est particulièrement intellectuellement attirant, il faut éviter d'utiliser des threads.
Pour des tas de raisons: difficile à développer, l'accès aux données est délicat à implémenter, risques de deadlocks, difficulté à débugguer...
Règle d'or: Moins vous avez de threads, mieux c'est.
Note: En Python je me suis beaucoup amusé avec les threads, et ce qui a bien marché pour réduire la difficulté de communication entre threads, c'est d'utiliser l'objet Queue qui est thread-safe : https://docs.python.org/2/library/queue.html
Du coup, on peut passer des objets (données ou commandes) entre threads très facilement et sans réellement se faire chier avec des sections critiques et sémaphores.
(Permalink)