Jakie są dobre zasoby do nauki programowania w wątkach? [zamknięte]

Wraz ze wzrostem liczby procesorów wielordzeniowych na pulpicie, umiejętności wielowątkowości staną się cennym atutem dla programistów. Czy możesz polecić jakieś dobre zasoby (książki, samouczki, strony internetowe itp.) dla programisty, który chce się nauczyć programowania w wątkach?

Author: Bruce Alderman, 2008-08-05

17 answers

Spójrz na Herb Sutter " darmowy Lunch się skończył", a następnie jego serię artykułów na tematefektywnej współbieżności .

 17
Author: graham.reeds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 16:02:41

Joseph Albahari napisał dobry przegląd Threadingu w C# tutaj:

Http://www.albahari.com/threading/

 10
Author: dmo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-18 21:51:01

Szczerze mówiąc sam nigdy jej nie czytałem, ale Programowanie współbieżne w Javie to książka, którą słyszałem, polecana przez kilka osób.

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 15:47:15
 5
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-27 12:20:34

Piszę o wielowątkowości i współbieżności w C++ na moim blogu . Piszę również książkę o współbieżności w C++: współbieżność C++ w działaniu.

 3
Author: Anthony Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-09 12:56:05

Przeczytałem (większość) współbieżność Javy w praktyce autorstwa Briana Goetza, co jest bardzo dobre.

Istnieje oczywiście motyw oparty na Javie (używając specyficznych dla Javy implementacji wątków, zamków itp.), ale praktycznie wszystkie zasady można zastosować do innych języków.

Strona główna autora zawiera listę artykułów , które napisał, z których niektóre obejmują wątki związane z tym. Może zacząć tam i jeśli podoba Ci się jego styl, kupić książka.

 2
Author: Lehane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-21 11:39:20

Dla świetnego przewodnika i odniesienia do programowania współbieżnego w C# (lub. NET w ogóle) polecam MSDN Co każdy Dev musi wiedzieć o wielowątkowych aplikacjach artykuł Vance Morrison na temat MSDN. Zawiera wiele informacji o najlepszych praktykach i zastrzeżeniach dotyczących rozwoju wielowątkowego

 2
Author: Markus Olsson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-21 12:06:05

Prowadzę linkbloga dla artykułów, blogów i projektów w:

Http://concurrency.tumblr.com

Zazwyczaj zamieszczam link lub dwa dziennie na różne tematy (wątki, aktorzy, blokowanie, programowanie równoległe) w różnych środowiskach (Erlang, Java, Scala,. Net, C++, Ruby, Python, itp.).

 2
Author: Alex Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-22 02:22:31

Jest specyficzny dla Delphi, ale nie ma powodu, dla którego ta koncepcja nie miałaby zastosowania do żadnego innego języka!

Multi Threading Tutorial

 2
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-01 16:48:31

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

To ładny ogólny przegląd situcji, jeśli szukasz tuoriali i książek, najlepiej byłoby określić język jako punkt wyjścia, abyś mógł namieszać z jakimś kodem.

 1
Author: Tarks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 15:48:57

Język programowania Erlang zapewnia łatwy w użyciu styl programowania współbieżnego. Możesz nigdy nie używać Erlanga, ale pojęcia te można przenosić na inne języki. Warto przeczytać książkę Programowanie Erlang: oprogramowanie dla świata współbieżnego .

Fani programowania funkcyjnego twierdzą, że nie ma potrzeby uczenia się niczego nowego. Po prostu użyj czystego języka funkcyjnego, a kompilator lub interpreter automatycznie zrównają wszystko. Więc ty warto nauczyć się Haskell, OCaml lub innego języka funkcjonalnego.

 1
Author: Kristopher Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-13 16:53:20

Nie wiem, czego dokładnie szukasz, ale jeśli zajmujesz się tworzeniem WindowsForms, poniższy wpis na blogu jest wart każdej minuty czytania: WinForms UI thread wywołuje: dogłębny przegląd Invoke / BeginInvoke/InvokeRequred

 1
Author: ollifant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-21 12:11:11

Myślę, że Boost.Threads to świetna biblioteka współbieżności C++ do nauki, zwłaszcza jeśli chcesz zacząć pisać aplikacje wielowątkowe. Kod jest bardzo zwięzły i łatwy do zrozumienia, a następny standard C++ będzie prawdopodobnie zawierał bibliotekę wątków opartą na Boost.Wątki (tutorial: http://www.ddj.com/cpp/184401518 )

 1
Author: jeffythedragonslayer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-21 20:46:58

Jeśli chcesz zrobić bardzo równoległą wersję prostego zadania lub zobaczyć prawdziwe rozwiązania, możesz zrobić coś gorszego niż spojrzeć na projekt wide finder. Zasadniczo chodzi o to, jak zrobić równoległe dopasowanie regex plików skutecznie, ale stara się dodać jak najmniej kodu, jak to możliwe.

Uczestnicy przesłali rozwiązania w wielu różnych językach, a wyniki wydajności są publikowane. Oryginalny projekt został zakończony i jest teraz szeroki finder 2

CodingHorror ma dobre wprowadzenie do wide Findera .

 1
Author: Hamish Downer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-27 12:12:34

Dla bogatego, dokładnego potraktowania tematu, z dobrą równowagą między informatyką a praktyką, polecam sztukę programowania wieloprocesorowego. Wiele przykładów znajduje się w kodzie obiektowym, tj. w Javie, z innymi językami rozproszonymi po całym świecie. To zależy tylko od poruszanego tematu. To, co naprawdę kocham w tej książce jest to, że omawia, jak powszechne algorytmy powinny być implementowane w projekcie współbieżnym. Oczywiście, jest o wiele więcej!

Ogólnie koncepcje i obróbka pthreads, bardzo lubię Programowanie z wątkami POSIX . Jako biblioteka i API, że jest, to jest w C.

Dla programistów Windows i C# sprawdź Joe Duffy ' s blog . Joe pracuje nad równoległymi bibliotekami, infrastrukturą i modelami programistycznymi w dziale deweloperów Microsoftu. Ma książkę w listopadzie. 2008 pt. Programowanie współbieżne w systemie Windows (Amazon link ).

Nie przegap też bloga Ojca Chrzestnego: Herb Sutter 's Sutter' s Mill . Ma linki do wszystkich swoich artykułów w Dzienniku doktora Dobba i nie tylko. Kliknij jego kategorię .

 1
Author: eLuke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-10 04:07:35

Strony producentów procesorów mają ciekawą treść:

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

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

Również biblioteka opensource threading Intela ma dobre referencje:

Http://www.threadingbuildingblocks.org/

 1
Author: user21082,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-26 12:21:04

Jeśli pracujesz z C#, książka "C# 2008 i 2005 threaded programming", Gaston C. Hillar-Packt Publishing - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book , pomoże Ci. Wysoce zalecane dla programistów C#, ponieważ możesz pobrać kod z zabawnymi przykładami, które wykorzystują Twój komputer wielordzeniowy. Książka jest miłym przewodnikiem z dużą ilością kodu do Ćwiczenia. Opowiada historie, podczas gdy wyjaśnia najtrudniejsze pojęcia.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-05 02:40:11