Дочитал второе издание "C++ Concurrency in Action", очень понравилось и всецело рекомендую! Хотя стиль Вильямса мне не очень нравится, но материал очень интересный и полезный, учитывающий нововведения в C++17/20 а так же Concurrency TS (слегка). Электронная версия доступна тут.
не рекомендую тем кто хочет научится конкуренси
книга скорее как справочник стд по конкуренси
а тем кто желает освоить мир конкуренси лучше почитать scrutator.me за 12 год
R>не рекомендую тем кто хочет научится конкуренси R>книга скорее как справочник стд по конкуренси R>а тем кто желает освоить мир конкуренси лучше почитать scrutator.me за 12 год
Извини, но я не понимаю как ты сравниваешь обычный бложик с книгой такого уровня. Я бы еще понял, дай ты линку хотя бы на preshing.com, но вот этот scrutator... ну заметки на коленке и что?
тема сисек в книге не раскрыта
как я уже сказал, не более чем справочник конкуренси из текущего стандарта
да еще и примеры все с en.cppreference.com
и если хотите поддержать вильямса — покупайте
тем же кто желает освоить конкуренси, в частности его одну из сложных разделов lockfree программирование
рекомендую тот незатейлевый как вы выразились бложик
лучшего материала не встречал
там много статей по этой теме
Здравствуйте, SkyDance, Вы писали:
SD>А еще лучше — написать что-нибудь на Erlang, тогда глаза откроются на самом деле. Ну, не сразу, но через год-два...
Невероятно полезный комментарий в теме про книгу о C++ находящуюся в разделе посвященном опять таки C++
Здравствуйте, SkyDance, Вы писали:
SD>А еще лучше — написать что-нибудь на Erlang, тогда глаза откроются на самом деле. Ну, не сразу, но через год-два...
Писал на erlang'е пол-года, но глаза не открылись, видимо действительно надо не меньше года
Здравствуйте, SkyDance, Вы писали:
R>>а тем кто желает освоить мир конкуренси лучше почитать scrutator.me за 12 год
SD>А еще лучше — написать что-нибудь на Erlang, тогда глаза откроются на самом деле. Ну, не сразу, но через год-два...
У равнения на Erlang есть, как минимум, две проблемы: Erlang демонстрирует лишь один подход к решению проблем конкурентного программирования. В двух словах это можно назвать творчески переработанной Моделью Акторов (за счет selective receive процессы в Erlang-е обладают специфическим свойством, которого нет у классических Акторов). К сожалению, не всегда Модель Акторов подходит под задачу. Поэтому не менее полезно, например, написать что-нибудь и на языке Go, глаза раскроются еще шире. Еще шире глаза раскроются при знакомстве с data-flow подходом. Ну и это еще не предел...
C++ небезопасный язык, поэтому при реализации Акторов на C++ не получается просто так использовать один из главных принципов, лежащих в основе Erlang-а: let it crush.
До кучи можно добавить еще и тот факт, что в Erlang-е своя VM и свой планировщик, реализующий вытесняющую многозадачность для Erlang-овых процессов. Но в C++ разработчик не имеет такой роскоши, поэтому в C++ приходится:
пользоваться нитями ОС дабы получить вытесняющую многозадачность. Тогда внутри каждой нити получается "простой" последовательный код. Но нельзя создавать десятки и сотни тысяч нитей (тогда как в Erlang-е можно создавать Erlang-овые процессы в таких количествах);
либо пользоваться объектами с коллбэками, которые реагируют на входящие сообщения. И тогда "простой" последовательный код может превратиться в непростую асинхронную лапшу;
либо пользоваться stackful короутинами, код в которых будет "простым" и последовательным, и которых можно создать в больших количествах. Но с необходимостью обеспечивать им диспетчеризацию.
Так что знакомство с Erlang-ом, в принципе, полезно. Но при разработке на C++ есть своя специфика, которая не позволит вам переиспользовать подходы из Erlang-а в чистом виде. Впрочем, для тех, кто хочет писать на Erlang-е на C++ есть CAF.
S> Поэтому не менее полезно, например, написать что-нибудь и на языке Go, глаза раскроются еще шире. Еще шире глаза раскроются при знакомстве с data-flow подходом. Ну и это еще не предел...
Согласен, для широты кругозора следует изучить и перечисленое выше. И тоже в размере года-другого, потому что первоначальное знакомство, honeymoon period и все прочее. Послевкусие раскрывается только через оные год-два.
S>C++ небезопасный язык, поэтому при реализации Акторов на C++ не получается просто так использовать один из главных принципов, лежащих в основе Erlang-а: let it crush.
crash, все-таки.
По этой, а также многим другим причинам, C++ — не лучший выбор для реализации massive concurrency. Равно как ассемблер не очень подходит для написания запросов к базам данных.
S>До кучи можно добавить еще и тот факт, что в Erlang-е своя VM и свой планировщик, реализующий вытесняющую многозадачность для Erlang-овых процессов. Но в C++ разработчик не имеет такой роскоши
Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.
Здравствуйте, SkyDance, Вы писали:
SD>По этой, а также многим другим причинам, C++ — не лучший выбор для реализации massive concurrency.
Это тормозоной Erlang-то лучший выбор для massive concurrency?
SD>
SD>Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang.
Унылое подражание классике. Впрочем, когда приходится пользоваться таким унылым языком, как Erlang, остается развлекать себя подобными сентенциями.
Здравствуйте, kaa.python, Вы писали:
KP>Дочитал второе издание "C++ Concurrency in Action", очень понравилось и всецело рекомендую! Хотя стиль Вильямса мне не очень нравится, но материал очень интересный и полезный, учитывающий нововведения в C++17/20 а так же Concurrency TS (слегка). Электронная версия доступна тут.
Книжка ещё не вышла, пока только MEAP. Что там нового по сравнению с первым изданием?
Здравствуйте, kaa.python, Вы писали:
KP>Дочитал второе издание "C++ Concurrency in Action", очень понравилось и всецело рекомендую!
Есть кстати еще такая книжка — Concurrency with Modern C++ https://leanpub.com/concurrencywithmodernc
Кто-нибудь про неё что-нибудь знает? Никто не читал? Судя по оглавлению вроде выглядит неплохо
Здравствуйте, uncommon, Вы писали:
U>Книжка ещё не вышла, пока только MEAP. Что там нового по сравнению с первым изданием?
Начал читать, новое есть, то же Concurency TS (примеры с 4.17 по 4.27). Ну и всякое по-мелочи. Я первую часть раньше не читал, сейчас начал, скачал примеры и понял, что во втором побольше материала. Начал перечитывать второе издание.