一.条件变量
条件变量本身不是锁,但他可以造成线程阻塞,通常与互斥锁配合使用。给多线程提供一个会和场所
二.条件变量主要应用函数
- int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);
- int pthread_cond_signal(pthread_cond_t *cond);
- int pthread_cond_broadcast(pthread_cond_t *cond);
- int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
- int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime);
- int pthread_cond_destroy(pthread_cond_t *cond);
以上6个函数成功都是返回0, 失败返回错误号。
pthread_cond_t 类型 定义条件变量如:pthread_cond_t cond;
要重点讲的就是这个 pthread_cond_wait
1.阻塞等