线程的安全机制3——条件变量
pthread_cond_timedwait 规定等待时间的条件变量等待函数
pthread_cond_signal 唤醒一个因为条件变量而陷入睡眠的线程
pthread_cond_broadcast 广播唤醒所有因为条件变量而陷入睡眠的线程
条件变量
专门为了互斥锁而诞生的辅助工具,条件变量是一种同步机制,允许线程挂起,直到共享数据上的某些条件得到满足。条件变量上的基本操作有:触发条件(当条件变为 true 时);等待条件,挂起线程直到其他线程触发条件。
条件变量API
pthread_cond_init 初始化一个条件变量
pthread_cond_destroy 销毁一个条件变量
#include <pthread.h>
int pthread_cond_init(pthread_cond_t *restrict cond,
const pthread_condattr_t *restrict attr);
int pthread_cond_destroy(pthread_ cond _t * cond);