Сколько ожидающий поток проснётся, если я позвоню станд :: condition_variable :: notify_one() дважды без какого-либо временного интервала, например:станд :: condition_variable :: notify_one() вызывается дважды
{
std::unique_lock<std::mutex> lock(condvar_mutex);
condvar.notify_one();
condvar.notify_one();
}
ли есть ли гарантия, что эти уведомления будут доставлены в разные потоки, а не один и тот же поток несколько раз?
Вы в основном спрашиваете, можно ли еще раз уведомить уведомляемый поток (и заблокирован на мьютексе), поскольку он больше не ждет на 'cond_var' и скорее блокирован на' condvar_mutex'? –
Извините. Этот вопрос был слишком неясным. Я перефразировал его здесь: http://stackoverflow.com/questions/15085823/stdcondition-variablenotify-one-called-several-times-without-context-switc и помечен для удаления. – Vasily