互斥量防止多个线程同时访问同一共享变量。

条件变量允许一个线程就某个条件(共享变量)的变化状态通知其他线程,并让其他线程等待(阻塞于)该通知。

条件变量与互斥量一起使用,允许线程以无竞争的方式等待特定的条件发生。