Сведения о вопросе

Ислам

16:03, 1st July, 2020

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

Просмотров: 625   Ответов: 17

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



  Сведения об ответе

prince

18:03, 1st July, 2020

Взгляните на книгу Херба Саттера "бесплатный обед окончен", а затем на его серию статей об эффективном параллелизме .


  Сведения об ответе

PIRLO

18:03, 1st July, 2020

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

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


  Сведения об ответе

ASSembler

18:03, 1st July, 2020

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


  Сведения об ответе

nYU

18:03, 1st July, 2020

  Сведения об ответе

PIRLO

18:03, 1st July, 2020

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


  Сведения об ответе

SILA

18:03, 1st July, 2020

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

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

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


  Сведения об ответе

SILA

18:03, 1st July, 2020

Для отличного руководства и справочной информации по параллелизму программирования в C# (или .NET в целом) я бы рекомендовал MSDN то, что каждый разработчик должен знать о многопоточных приложениях статья Вэнса Моррисона на MSDN. Он содержит большое количество информации о передовой практике и предостережений о многопоточной разработке


  Сведения об ответе

lourence

18:03, 1st July, 2020

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

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


  Сведения об ответе

lesha

18:03, 1st July, 2020

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

http://concurrency.tumblr.com

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


  Сведения об ответе

piter

18:03, 1st July, 2020

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


  Сведения об ответе

lesha

18:03, 1st July, 2020

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


  Сведения об ответе

padenie

18:03, 1st July, 2020

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

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


  Сведения об ответе

lourence

18:03, 1st July, 2020

Язык программирования Erlang обеспечивает easy-to-use стиль параллельного программирования. Возможно, вы никогда не будете использовать Erlang, но эти понятия переносятся на другие языки. Возможно, вы захотите прочитать книгу Программирование Erlang: программное обеспечение для параллельного мира .

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


  Сведения об ответе

Chhiki

18:03, 1st July, 2020

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

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

CodingHorror имеет хорошее введение в wide finder .


  Сведения об ответе

lats

18:03, 1st July, 2020

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

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

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

Кроме того, не пропустите блог Крестного отца: Herb Sutter's Sutter's Mill . У него есть ссылки на все его статьи в Dr. Дневник добба и многое другое. Щелкните его категорию параллелизма .


  Сведения об ответе

SKY

18:03, 1st July, 2020

CPU производители веб-сайты имеют что-нибудь интересное:

http://developer.amd.com/documentation/articles/Pages/default.aspx # параллель

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

Кроме того, библиотека opensource threading от Intel имеет несколько хороших ссылок:

http://www.threadingbuildingblocks.org/


  Сведения об ответе

PAGE

18:03, 1st July, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться