直接上源码:
template<class _Predicate>
void wait(unique_lock<mutex>& _Lck, _Predicate _Pred)
{ // wait for signal and test predicate
while (!_Pred())
wait(_Lck);
}
这个很简单,就是传递一个可执行对象,然后这个对象有一个返回值,当线程被wake时,调用可执行对象,并接受其返回值,如果为false,则继续wait
博客给出一段C++源码,其功能是传递一个可执行对象,该对象有返回值。当线程被唤醒时,调用此可执行对象并接收返回值,若返回值为false,则线程继续等待。
直接上源码:
template<class _Predicate>
void wait(unique_lock<mutex>& _Lck, _Predicate _Pred)
{ // wait for signal and test predicate
while (!_Pred())
wait(_Lck);
}
这个很简单,就是传递一个可执行对象,然后这个对象有一个返回值,当线程被wake时,调用可执行对象,并接受其返回值,如果为false,则继续wait

被折叠的 条评论
为什么被折叠?