Parmi les liens intéressants, il y a ceux de Herb Sutter qui se fait l'avocat du message passing (messages asynchrones, où au lieu de bloquer les threads sur de la mémoire partagée (synchronisation), on fait de l'envoi de messages entre threads qui les traitent un à un sans bloquer, ou seulement quand ils sont en attente d'un résultat), et des queues pour le multithreading pour le partage d'objets. Ma petite expérience du multithreading en Java me dit que c'est aussi une, voire la bonne démarche, qui simplifie nettement l'analyse et réduit les risques de bugs, surtout quand le nombre de threads augmente, et pas mal de problèmes peuvent se modéliser avec ces paradigmes.
Perso, je les privilégie autant que faire se peut par rapport aux techniques de synchronisation explicite.
Les 3 articles ci-dessous sont assez illuminants:
http://www.drdobbs.com/high-perfor [...] /215900465
http://www.drdobbs.com/go-parallel [...] =226700179
http://www.drdobbs.com/go-parallel [...] =225700095
A noter que les bases de toutes ces techniques sont implémentées depuis longtemps en Java et probablement en C#, et ont montré leur efficacité depuis belle lurette.
Sinon, plein d'articles intéressants sur la prog multithread:
http://www.drdobbs.com/go-parallel [...] =224701827
http://herbsutter.com/2009/01/12/e [...] -volatile/
Message édité par el muchacho le 26-08-2010 à 01:06:13
---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien