Каковы некоторые хорошие ресурсы для изучения многопоточного программирования?

голоса
30

С появлением многоядерных процессоров на рабочем столе, многопоточность навыки станут ценным активом для программистов. Вы можете порекомендовать некоторые хорошие ресурсы (книги, учебники, веб-сайты и т.д.) для программиста, который ищет, чтобы узнать о многопоточном программировании?

Задан 05/08/2008 в 16:42
источник пользователем
На других языках...                            


17 ответов

голоса
6

Я никогда честно не читал это сам, но Параллельное программирование в Java книга , которую я слышал , рекомендуется несколько человек.

Ответил 05/08/2008 в 16:47
источник пользователем

голоса
1

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

Это хороший общий обзор sitution, если вы ищете tuorials и книги, было бы лучше, чтобы указать язык в качестве отправной точки, так что вы можете возиться с каким-то кодом.

Ответил 05/08/2008 в 16:48
источник пользователем

голоса
17

Посмотрите на Herb Sutter в « The Free Lunch Is Over » , а затем его серии статей по эффективному параллельности .

Ответил 05/08/2008 в 17:02
источник пользователем

голоса
1

Язык программирования Erlang предоставляет простой в использовании стиль параллельного программирования. Вы никогда не можете на самом деле использовать Erlang, но понятия транспортируются на другие языки. Вы можете читать книги Programming Erlang: Программное обеспечение для параллельного мира .

Поклонники функционального программирования утверждают, что нет никакой необходимости, чтобы узнать что-нибудь новое. Просто используйте чистый функциональный язык, и компилятор или интерпретатор автоматически распараллелить все. Таким образом, вы можете захотеть узнать Haskell, OCaml, или другой функциональный язык.

Ответил 13/08/2008 в 17:46
источник пользователем

голоса
10

Джозеф Albahari написал хороший обзор Threading в C # здесь:

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

Ответил 18/08/2008 в 22:51
источник пользователем

голоса
2

Я прочитал ( в большинстве случаев ) Java Параллелизм на практике Брайан Гетц, который очень хорошо.

Существует, очевидно, Java на основе тема работает через книгу (с помощью Java конкретных реализаций потоков, замки и т.д.), но в значительной степени все принципы могут быть применены и к другим языкам.

Домашняя страница автора содержит список статей , которые он написал, некоторые из которых включает в многопоточной родственное вещество. Может быть , начать там , и если вам нравится его стиль, купить книгу.

Ответил 21/08/2008 в 12:39
источник пользователем

голоса
2

Для большого руководства и ведения параллельного программирования в C # (или .NET в целом) я бы порекомендовал MSDN Что каждый Dev должен знать о Multithreaded Apps статьи Vance Morrison на MSDN. Он содержит большое количество информации наилучшей практики и предостережения о многопоточном развитии

Ответил 21/08/2008 в 13:06
источник пользователем

голоса
1

Я не знаю , что именно вы ищете, но если вы делаете развитие WindowsForms следующий блог стоит каждую минуту чтения: WinForms UI Thread Запускает: Углубленный обзор Invoke / BeginInvoke / InvokeRequred

Ответил 21/08/2008 в 13:11
источник пользователем

голоса
1

Я думаю , что Boost.Threads является отличным C ++ параллелизм библиотеки , чтобы узнать, особенно если вы просто хотите , чтобы начать работу в написании многопоточных приложений. Код очень краткий и легко понять, а также стандарт на следующем C ++, скорее всего , включает в себя библиотеку , основанную на поточную Boost.Threads (учебник: http://www.ddj.com/cpp/184401518 )

Ответил 21/08/2008 в 21:46
источник пользователем

голоса
1

Если вы хотите , чтобы идти на делать высокопараллельную версию простой задачи, или увидеть реальные решения, вы могли бы сделать хуже , чем смотреть на широком искатель проект. В основном речь идет о том , как сделать параллельное согласование регулярных выражений лог - файлов эффективно, но при попытке добавить немного кода , насколько это возможно.

Участники представили решения на разных языках , и результаты работы размещены. Оригинальный проект теперь закончен , и сейчас широко нашедший 2 принимая работу на.

CodingHorror имеет хорошее введение в широкий видоискатель .

Ответил 27/08/2008 в 13:12
источник пользователем

Ответил 27/08/2008 в 13:20
источник пользователем

голоса
1

Для богатого, тщательного лечения субъекта, с хорошим балансом между компьютерной наукой и практикой, я рекомендую Искусство многопроцессорных программирования . Много примеров в объектно-ориентированном коде, т.е. Java, с другими языками разбросаны повсюду. Это просто зависит от темы прикрываясь. Что мне действительно нравится в этой книге является то , что он обсуждает , как общие алгоритмы должны быть реализованы в параллельном проектировании. Конечно, есть так много больше!

Для общих понятий и лечения Pthreads, мне очень нравится Программирование с POSIX Threads . Будучи библиотеки и API , что она есть, это в C.

Для Windows и разработчиков C #, проверить блог Джо Даффи . Джо работает на параллельных библиотек, инфраструктуры и моделей программирования в Отделе разработчиков Microsoft. У него есть книга приходя в ноябре 2008 года под названием Параллельное программирование на Windows , ( Amazon ссылка ).

Кроме того , не пропустите блог крестный: Герб Саттер Мельницы Саттер . У него есть ссылки на все его статьи в журнале доктора Добба и многое другое. Нажмите его Concurrency категорию .

Ответил 10/09/2008 в 05:07
источник пользователем

голоса
2

Я поддерживаю для параллельности Блог ссылок статей, блогов и проектов по адресу:

http://concurrency.tumblr.com

Я обычно разместить ссылку или два в день на различные темы (резьб, актеров, замок, параллельное программирование) в различных средах (Erlang, Java, Scala, .NET, C ++, Ruby, Python и т.д.).

Ответил 22/09/2008 в 03:22
источник пользователем

голоса
1

Производители процессоров сайты имеют некоторое интересное содержание:

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

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

Также библиотека Intel, с открытым исходным кодом потоковая имеет некоторые хорошие ссылки:

http://www.threadingbuildingblocks.org/

Ответил 26/09/2008 в 13:21
источник пользователем

голоса
2

Это Delphi специфично, но нет причин, почему концепция не будет применяться к любому другому языку!

Многопоточной Учебник

Ответил 01/10/2008 в 17:48
источник пользователем

голоса
3

Я пишу о многопоточности и параллелизма в C ++ на моем блоге . Я также пишу книгу о параллельности в C ++: C ++ параллельности в действии .

Ответил 09/10/2008 в 13:56
источник пользователем

голоса
0

Если вы работаете с C #, книга "C # 2008 и 2005 многопоточного программирования", Гастон С. HILLAR - Packt Publishing - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and- 2005 нарезкой-программирование / книга поможет вам. Особенно рекомендуются для C # программистов, потому что вы можете загрузить код с забавными примерами , которые используют ваш многоядерный компьютер. Книга представляет собой хороший гид с большим количеством коды на практику. Он рассказывает истории , пока он объясняет самые сложные понятия.

Ответил 05/02/2009 в 03:40
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more