1. 条件变量介绍
条件变量是线程可用的一种同步机制,条件变量给多个线程提供了一个回合的场所,条件变量和互斥量一起使用,允许线程以无竞争的方式等待特定的条件发生。
条件变量本身是由互斥体保护的,线程在改变条件状态之前必须首先锁住互斥量,其他线程在获取互斥量之前就不会觉察到这种变化,因为互斥量必须锁定之后才改变条件。
条件变量总结:
-
条件变量要配合互斥锁使用。
-
条件变量支持单个唤醒和广播方式唤醒。
下面是视频监控的一个项目模型,摄像头的数据使用条件变量保护:
#include
int pthread_cond_init(pthread_cond_t