Страницы

Поиск по вопросам

четверг, 29 ноября 2018 г.

Книги по теме Concurrency и Parallel Programming [закрыт]

Доброго времени суток! Посоветуйте книги по теме соответственно. Во многообразии выдачи поисковиков можно потеряться и хочется услышать совета опытных людей, что почитать новичку и разобраться как можно глубже в теме. Желательно в порядке нарастания сложности для изучения. Начал пока с этой C++ Concurrency in Action P.S. на данный момент есть задача: общая очередь заданий, несколько потоков кладут их туда, а несколько читают и соответственно выполняют. В общем, вроде укладывается в паттерн Poducer-Consumer.


Ответ

В упомянутой книге упор делается на практический аспект многопоточности. Начинать погружение в тему лучше с неё. На ней же можно и закончить. Для большинства реальных задач этого будет достаточно. Если же хочется познать многопоточность на полную глубину и стать мастером, то без изучения теории не обойтись. Для этого есть другая книга - "Параллельное и распределенное программирование с использованием C++". Описание на ozon.ru совершенно не соответствует содержанию. Оно выглядит легкомысленно и ничуть не пугает. Можно подумать, что эта книга для начинающих. В действительности же она представляет собой академический хардкор, читать который очень непросто. А что касается конкретно паттерна Producer-Consumer, то его реализацию лучше всего делать в lock-free манере. В журнале Dr. Dobb's была статья о том, как это сделать. Правда в вашем случае всё равно потребуется кое-какая блокировка. Нужно будет блокировать отдельно Producer'ов и отдельно Consumer'ов, чтобы в очередь одновременно не лезло более одного потока каждого вида.

Комментариев нет:

Отправить комментарий