Tags: parallelizm

Garfield_Typing

C++ Concurrency in Action - Done!



Все-таки домучил дочитал книжку Antony Williams C++ Concurrency in Action (2nd edition)!

Секретом к данному достижению (ик) было предварительное прохождение электронного курса (другого автора) на ту же тему, который дал большую картинку и вызвал общий интерес к теме.

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

Действительно, ничего более подробного и качественного на тему C++ Concurrency на настоящий момент просто нет. Хотя за счет этого книжка периодически hurts the brain (ик).
Dr. House

C++ Puzzle # 3

Имеем вот такой код:

using namespace std::literals;

void f()
{
   std::this_thread::sleep_for(1s);
}

auto fut = std::async(f);

while (fut.wait_for(100ms) != std::future_status::ready)
{
   do_something();
}


Все ли с ним нормально? Нет ли каких-нибудь побочных эффектов?

Ответ на загадку, как всегда, опубликую завтра.

[UPDATE]. do_something() ведет себя прилично: не блокирует, не кидает исключений, не запускает другие треды, могущие повлиять на этот и т.д.