条件变量 当一个线程互斥地访问某个变量时,它可能发现在其它线程改变状态之前,它什么也做不了 例如一个线程访问队列时,发现队列为空,它只能等待,只到其它线程将一个节点添加到队列中.这种情况就需要用到条件变量 条件变量和互斥锁为什么要配合使用? 条件本身就是公共资源,多个线程同时方式时,必须使用互斥锁在临界区内对条件进行保护. 条件变量的作用是在等待某个条件达成时自身要进行睡眠或阻塞,避免忙等待带来的不必要消耗:当被唤醒时,会重新尝试加锁,如果锁成功,才进行之后的流程:否则解锁,继续阻塞 条件变量函