multithreading - Quelles sont les bonnes ressources pour apprendre la programmation filetée?

Translate

Avec la montée en puissance des processeurs multicœurs sur le bureau, les compétences en multithreading deviendront un atout précieux pour les programmeurs. Pouvez-vous recommander de bonnes ressources (livres, tutoriels, sites Web, etc.) pour un programmeur qui cherche à en savoir plus sur la programmation threadée?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Jetez un œil à Herb Sutter's "Le déjeuner gratuit est terminé"puis sa série d'articles surConcurrence efficace.

La source
dmo
Translate

Joseph Albahari a écrit un bon aperçu de Threading en C # ici:

http://www.albahari.com/threading/

La source
Sid Lee
Translate

Honnêtement, je ne l'ai jamais lu moi-même, maisProgrammation simultanée en Javaest un livre que j'ai entendu recommandé par plusieurs personnes.

La source
Translate

J'écris sur le multithreading et la concurrence en C ++ surmon blog. J'écris également un livre sur la concurrence en C ++:Concurrence C ++ en action.

La source
Translate

J'ai lu (la plupart de)La concurrence Java en pratiquepar Brian Goetz, ce qui est très bien.

Il y a évidemment un thème basé sur Java qui traverse le livre (utilisant des implémentations spécifiques à Java de threads, de verrous, etc.), mais à peu près tous les principes peuvent être appliqués à d'autres langages.

La page d'accueil de l'auteur contient unliste d'articlesil a écrit, dont certains incluent des trucs liés au filetage. Commencez peut-être par là et si vous aimez son style, achetez le livre.

La source
Translate

Pour un excellent guide et référence pour la programmation d'accès concurrentiel en C # (ou .NET en général), je recommande le MSDNCe que chaque développeur doit savoir sur les applications multithreadarticle de Vance Morrison sur MSDN. Il contient de nombreuses informations sur les meilleures pratiques et des mises en garde sur le développement multithread

La source
Translate

Je maintiens un linkblog pour les articles, les blogs et les projets sur la concurrence sur:

http://concurrency.tumblr.com

Je publie généralement un lien ou deux par jour sur une variété de sujets (threads, acteurs, verrouillage, programmation parallèle) dans une variété d'environnements (Erlang, Java, Scala, .NET, C ++, Ruby, Python, etc.).

La source
Translate

C'est spécifique à Delphi, mais aucune raison pour laquelle le concept ne s'appliquerait à aucun autre langage!

Tutoriel multi-threads

La source
Translate

http://www.cilk.com/multicore-e-book/

C'est un bon aperçu général de la situation, si vous recherchez des tuorials et des livres, il serait peut-être préférable de spécifier une langue comme point de départ afin de pouvoir jouer avec du code.

La source
Translate

Le langage de programmation Erlang offre un style de programmation simultanée facile à utiliser. Vous n'utiliserez peut-être jamais Erlang, mais les concepts sont transposables dans d'autres langues. Vous voudrez peut-être lire le livreProgrammation Erlang: logiciel pour un monde simultané .

Les fans de programmation fonctionnelle affirment qu'il n'est pas nécessaire d'apprendre quoi que ce soit de nouveau. Utilisez simplement un langage fonctionnel pur, et le compilateur ou l'interpréteur mettra automatiquement tout en parallèle. Vous voudrez peut-être apprendre Haskell, OCaml ou un autre langage fonctionnel.

La source
Translate

Je ne sais pas exactement ce que vous recherchez, mais si vous faites du développement WindowsForms, le billet de blog suivant vaut chaque minute de lecture:Le thread d'interface utilisateur WinForms appelle: un examen approfondi d'Invoke / BeginInvoke / InvokeRequred

La source
Translate

Je pense que Boost.Threads est une excellente bibliothèque de concurrence C ++ à apprendre, surtout si vous voulez simplement vous lancer dans l'écriture d'applications multithreads. Le code est très succinct et facile à comprendre, et le prochain standard C ++ inclura probablement une bibliothèque de threads basée sur Boost.Threads (tutoriel:http://www.ddj.com/cpp/184401518)

La source
Translate

Si vous voulez essayer de faire une version hautement parallèle d'une tâche simple, ou voir de vraies solutions, vous pourriez faire pire que de regarder leviseur largeprojet. Fondamentalement, il s'agit de savoir comment faire efficacement la correspondance regex parallèle des fichiers journaux, mais en essayant d'ajouter le moins de code possible.

Les participants ont soumis des solutions dans de nombreuses langues différentes et lerésultats de performancesont affichés. Le projet original est maintenant terminé et il y a maintenantviseur large 2prendre le travail.

CodageHorreura un bonintroduction à Wide Finder.

La source
Translate

Pour un traitement riche et approfondi du sujet, avec un bon équilibre entre informatique et pratique, je recommandeL'art de la programmation multiprocesseur. De nombreux exemples sont en code orienté objet, c'est-à-dire Java, avec d'autres langages dispersés. Cela dépend simplement du sujet traité. Ce que j'aime vraiment dans ce livre, c'est qu'il explique comment les algorithmes courants doivent être implémentés dans une conception simultanée. Bien sûr, il y a tellement plus!

Pour des concepts généraux et un traitement des pthreads, j'aime beaucoupProgrammation avec les threads POSIX. Étant la bibliothèque et l'API que c'est, c'est en C.

Pour les développeurs Windows et C #, consultezLe blog de Joe Duffy. Joe travaille sur des bibliothèques parallèles, des infrastructures et des modèles de programmation dans la division développeur de Microsoft. Il a un livre à venir en novembre 2008 intituléProgrammation simultanée sous Windows (Lien Amazon).

Aussi, ne manquez pas le blog du Parrain: Herb Sutter'sMoulin de Sutter. Il a des liens vers tous ses articles dans le Dr. Dobb's Journal et plus encore. Cliquez sur sonCatégorie de concurrence.

La source
Translate

Les sites Web des fabricants de processeurs ont un contenu intéressant:

http://developer.amd.com/documentation/articles/Pages/default.aspx#parallel

http://software.intel.com/en-us/multi-core

La bibliothèque de threads open source d'Intel a également de bonnes références:

http://www.threadingbuildingblocks.org/

La source
Gill Lee
Translate

Si vous travaillez avec C #, le livre "Programmation threadée C # 2008 et 2005", par Gaston C. Hillar - Packt Publishing -http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book, va vous aider. Fortement recommandé pour les programmeurs C #, car vous pouvez télécharger le code avec des exemples amusants qui exploitent votre ordinateur multicœur. Le livre est un bon guide avec beaucoup de code à pratiquer. Il raconte des histoires tout en expliquant les concepts les plus difficiles.

La source