这是什么:
bool ready;
boost::mutex mutex;
boost::condition_variable cond;
boost::unique_lock<boost::mutex> lock(mutex);
cond.wait(lock,[]{return ready;});
第二个参数对我来说不熟悉。有人会给我一个暗示吗?
问候 戈兰
答案 0 :(得分:2)
除了其他的回答者之外,我还要补充一点,它显然与condition_variables有很大关系。
具体而言,避免虚假的唤醒
条件谓词完成的是它将保证
这样做可确保在适当的时间保持锁定。你可以手动编写,但这将是乏味且容易出错的。
事实上,在许多情况下,人们只是忘记了等待(等待条件已满足时的简历等待)和虚假的唤醒。