Привет. Надо такое: есть некоторое количество потоков (на стадии компиляции количество неизвестно, в рантайме количество изменяется), нужно их всех усыпить и разбудить из вне в нужный момент. condition_variable - нафиг мне там мьютекс не нужен. Заюзать барьеры - можно, но я тут покумекал, есть свои минусы и лишний гемор. Нужно просто в ждущих потоках сделать wait(), а в управляющем wakeup(), и все ждущие потоки просыпаются, поработали и пошли на новый круг. Без всяких счетчиков - если кто-то затормозил на прошлом круге и не успел сделать wait(), то следующий круг просто пропустил.
Ответ на:
комментарий
от pon4ik
Ответ на:
комментарий
от pavlick
Ответ на:
комментарий
от pon4ik
Ответ на:
комментарий
от pavlick
Ответ на:
комментарий
от pon4ik
Ответ на:
комментарий
от eao197
Ответ на:
комментарий
от GPFault
Ответ на:
комментарий
от pavlick
Ответ на:
комментарий
от pavlick
Ответ на:
комментарий
от eao197
Ответ на:
комментарий
от GPFault
Ответ на:
комментарий
от pon4ik
Ответ на:
комментарий
от pavlick
Ответ на:
комментарий
от pavlick
Ответ на:
комментарий
от pon4ik
Ответ на:
комментарий
от eao197
Ответ на:
комментарий
от pon4ik
Ответ на:
комментарий
от pathfinder
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум condition_variable + timed_mutex (2014)
- Форум Синхронизация потоков. std::condition_variable. (2018)
- Форум Мьютекс, голодание потока (2015)
- Форум Очередь перед мьютексом (2024)
- Форум Мьютекс на базе файла (2015)
- Форум Sequentially-consistent ordering для мьютексов (2023)
- Форум [нуб-вопрос]мьютексы, многопоточность, Linux (2011)
- Форум Закрытие мьютекса перед удалением структуры (2014)
- Форум [C++,boost] Вопрос по boost::condition_variable::wait (2011)
- Форум C++, Авто-отпускающийся мьютекс для шареной памяти. (2016)