Подтвердить что ты не робот

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

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

4b9b3361

Ответ 6

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

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

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

Ответ 8

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

http://concurrency.tumblr.com

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

Ответ 9

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

Multi Threading Tutorial

Ответ 10

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

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

Ответ 11

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

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

Ответ 13

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

Ответ 14

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

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

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

Ответ 15

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

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

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

Кроме того, не пропустите блог Godfather: Herb Sutter Sutter Mill. У него есть ссылки на все его статьи в журнале доктора Добба и многое другое. Нажмите его Concurrency category.

Ответ 17

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