我是多线程的新手.在使用条件变量在C++ 11中编写多线程代码时,我使用以下构造
while(predicate) {
cond_var.wait(&lock);
}
Run Code Online (Sandbox Code Playgroud)
但是,我一直在阅读Deitel关于操作系统的第三版书(第6页),其中使用了以下结构
if(predicate) {
cond_var.wait(&lock);
}
Run Code Online (Sandbox Code Playgroud)
那么,有什么区别?为什么这本书不能用呢?是不是虚假的称呼问题?