条件变量用于线程之间的通信,和互斥锁一起使用.条件变量用于及时通知等待的线程条件的变化,使线程不至于错过变化. 考虑下面的情况,有AB两个线程对index这个全局变量进行++,一个线程C用于判断,index是不是3的倍数,如果是就输出除以3的结果. 根据时间片轮转的算法,线程应该是这样执行的. Index初值为1. A B C (此时index=3,输出)A B C(此时index=5,不输出) A(此时index=6,c还在队列的最后,错过)BC .... 我们能看出,C会每隔一段时间就错个一…