История изменений
Исправление ls-h, (текущая версия) :
Ставь первым потоком перед нотификацией флаг
Понятно. Соответственно и проверять флаг перед нотификацией. Если ещё поднят, значит нотификацию не делать.
Вопрос в том, где это правильно делать? Внутри вот этого блока (из примера):
{
std::lock_guard<std::mutex> lk(m);
ready = true;
std::cout << "main() signals data ready for processing\n";
}
Соответственно, cv.notify_one() внести внутрь блока с lock_guard?
Исходная версия ls-h, :
Ставь первым потоком перед нотификацией флаг
Понятно. Соответственно и проверять флаг перед нотификацией. Если ещё поднят, значит нотификацию не делать.
Вопрос в том, где это правильно делать? Внутри вот этого блока (из примера):
[br]{[br] std::lock_guard<std::mutex> lk(m);[br] ready = true;[br] std::cout << "main() signals data ready for processing\n";[br]}[br]
Соответственно, cv.notify_one() внести внутрь блока с lock_guard?