一本书讲透Java线程:原理与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6.1 创建条件变量

条件变量的数据类型是pthread_cond_t,使用条件变量前必须对其进行初始化。如同互斥量一样,条件变量的创建方式也有两种:静态分配、动态创建。将经由静态分配的条件变量赋值为PTHREAD_COND_INITIALIZER就完成了初始化操作。我们也可以使用pthread_cond_init函数动态初始化条件变量。条件变量初始化函数如代码清单1-17所示。

代码清单1-17 条件变量初始化函数

cond参数表示将要初始化的条件变量对象。尽管POSIX标准中为条件变量定义了属性,但在LinuxThreads中没有实现cond_attr所指向的pthread_condattr_t类型对象,因此cond_attr的值通常为NULL。