C++封装POSIX 线程库(二)条件变量的封装
1.Pthread条件变量简介
条件变量也是线程间同步一个重要的内容,如果说互斥是一个种竞争关系,那么条件变量用于协调线程之间的关系,是一种合作关系。条件变量的应用很多,例如:BlockingQueue
,ThreadPool
等。
关于POSIX Pthread简介和示例用法可以参考:
POSIX Pthread 条件变量
2. 条件变量的封装
其实就是对pthread_cond_t
和相关函数的封装:
#include <pthread.h>
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;//静态初始化
int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);