C++面试常见问题:为什么条件变量要和互斥锁一起使用? 首先解释,为什么要引入条件变量? 第二,为什么条件变量要和互斥锁一起使用? 首先解释,为什么要引入条件变量? 假设存在这样一种情况,多个类似的线程需要等待某一条件达成,才能继续任务,条件属于临界资源,在访问时需要加锁。假设不存在条件变量,那么解决方案可能是如下这样: while(true) { lock(); if(条件满足) { doSomething();