Архивы за месяц:Ноябрь 2025

В чем я был неправ относительно std::condition_variable::wait?

std::condition_variable — это объект синхронизации, появившийся в C++11. Он используется, когда Ваш поток должен ожидать какого-либо сигнала от другого потока (например, о готовности данных для их последующей обработки).

Недавно мой коллега указал мне на то, что я неправильно понимаю работу с предикатом pred, который передается вторым параметром в метод std::condition_variable::wait. Он нужен для предотвращения ложного пробуждения потока (spurious wakeup). Интересный нюанс в том, когда он вызывается.

Продолжить чтение →