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

Обычная идиома состоит в том, чтобы определить функцию для принятия одного аргумента типа Unit (let functionName () = 42). Затем он будет называться functionName (). (Тип устройства имеет только одно значение, которое равно ().)

32
задан Bruce Alderman 5 September 2009 в 17:29
поделиться

17 ответов

Смотрите на Herb Sutter" , Бесплатный Ланч - более чем " и затем его ряд статей о Эффективный Параллелизм .

18
ответ дан 27 November 2019 в 20:38
поделиться

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

0
ответ дан 27 November 2019 в 20:38
поделиться

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

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

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

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

http://www.threadingbuildingblocks.org/

1
ответ дан 27 November 2019 в 20:38
поделиться

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

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

CodingHorror имеет пользу введение в широкое средство поиска .

1
ответ дан 27 November 2019 в 20:38
поделиться

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

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

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

кроме того, не пропускайте блог Крестного отца: Herb Sutter Фреза Sutter . У него есть ссылки на все его статьи в Журнале доктора Dobb и т.д. Нажмите его категория Concurrency .

1
ответ дан 27 November 2019 в 20:38
поделиться

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

1
ответ дан 27 November 2019 в 20:38
поделиться

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

1
ответ дан 27 November 2019 в 20:38
поделиться

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

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

1
ответ дан 27 November 2019 в 20:38
поделиться

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

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

1
ответ дан 27 November 2019 в 20:38
поделиться

Я поддерживаю linkblog для статей параллелизма, блогов и проектов в:

http://concurrency.tumblr.com

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

2
ответ дан 27 November 2019 в 20:38
поделиться

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

2
ответ дан 27 November 2019 в 20:38
поделиться

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

4
ответ дан 27 November 2019 в 20:38
поделиться

Я читал (большая часть) Параллелизм Java на практике Brian Goetz, который очень хорош.

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

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

2
ответ дан 27 November 2019 в 20:38
поделиться
5
ответ дан 27 November 2019 в 20:38
поделиться

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

6
ответ дан 27 November 2019 в 20:38
поделиться

Joseph Albahari записал хороший обзор Поточной обработки в C# здесь:

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

10
ответ дан 27 November 2019 в 20:38
поделиться

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

Много Учебное руководство

по Поточной обработке
2
ответ дан 27 November 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: