我有兴趣使用 condition_variable 来同步两个不共享数据的线程(A和B)。 我发现上网冲浪是一个很好的解决方案。
class WaitableCondition
我在这里找到了: Paper link
问题在于两个代码片段,第一个代码片段如下。
void WaitUntilTrue (void)
{
std::unique_lock<std::mutex> uLock(m_mutex);
m_conditionVar.wait(uLock,[&]{return m_condIsTrue}); //<==== ?????
if (m_autoReset) m_condIsTrue = false;
}
在带有问号评论的行中是否会发生虚假唤醒?
同样的问题与以下行代码有关:
if (m_conditionVar.wait_for(uLock, timeoutPeriod, [&] {return m_condIsTrue;}))
....
由于