Re[7]: C++11: Синхронизация - Условные переменные и ложные п
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.03.19 06:54
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>>>>>О каком ресурсе (состоянии) идёт речь?

N>>>>О том, который защищается данной конкретной парой mutex + CV.
BFE>>>Речь идёт о notifyOne()?
N>>Нет, здесь — в общем случае.
BFE>А причём тут общий случай, если речь идёт о condition_variable ?

Общий случай для использования condition variable. Я полагал это очевидным по контексту.

BFE> condition_variable вообще не обязана быть связанной с какими-то разделяемыми данными.


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

N>>И поэтому этот гипотетический метод нужно ещё больше дорабатывать.

BFE>В каком смысле дорабатывать? Должна проснутся одна из тех ниток, которые заблокированы, а те, которые работают должны продолжать работать. Это в соответствии с текущей спецификацией.

В первом абзаце исходного сообщения я сказал про текущий режим, а во втором слегка затронул возможные альтернативы (и снова, полагал это отличие очевидным). Но больше я эти альтернативы обсуждать не хочу, потому что обсуждение мгновенно потеряло целостность.
The God is real, unless declared integer.
Отредактировано 28.03.2019 7:17 netch80 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.