Что возвращает boost :: condition_variable :: timed_wait () при ложных пробуждениях? - PullRequest
2 голосов
/ 12 января 2011

В расширенной документации написано:

Возвраты: false, если вызов возвращается, поскольку время, указанное в параметре abs_time, было достигнуто, в противном случае - true.

Но что возвращается, если происходит ложное пробуждение?

1 Ответ

5 голосов
/ 12 января 2011

Если бы условная переменная могла предположить, что это ложное пробуждение, возвращать ее не нужно, не так ли?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...