Хм, да, это не совсем удовлетворительный ответ, учитывая, что он действительно применим только к одной платформе, хотя я думаю, что действительно невероятно сложно заставить его работать "правильно" в Linux, тогда это может быть веской причиной для документирования поддельного пробуждения

кнулся на этот интересный абзац вУскорение документации сегодня:

void wait(boost::unique_lock<boost::mutex>& lock)

...

Эффекты: атомно вызывает lock.unlock () и блокирует текущий поток. Поток разблокируется, когда получено уведомление с помощью вызова this-> notify_one () или this-> notify_all (), илиложно, Когда поток разблокирован (по какой-либо причине), блокировка восстанавливается путем вызова lock.lock () до возврата вызова к ожиданию. Блокировка также восстанавливается путем вызова lock.lock (), если функция завершается с исключением.

Итак, что меня интересует, так это значение слова "spuriously". Почему поток был заблокирован по ложным причинам? Что можно сделать, чтобы решить эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос