多线程编程指南

pthread_condattr_init 语法

int	pthread_condattr_init(pthread_condattr_t *cattr);
#include <pthread.h>

pthread_condattr_t cattr;

int ret;



/* initialize an attribute to default value */

ret = pthread_condattr_init(&cattr); 

调用此函数时,pshared 属性的缺省值为 PTHREAD_PROCESS_PRIVATEpshared 的该值表示可以在进程内使用已初始化的条件变量。

cattr 的数据类型为 opaque,其中包含一个由系统分配的属性对象。cattr 范围可能的值为 PTHREAD_PROCESS_PRIVATEPTHREAD_PROCESS_SHAREDPTHREAD_PROCESS_PRIVATE 是缺省值。

条件变量属性必须首先由 pthread_condattr_destroy(3C) 重新初始化后才能重用。pthread_condattr_init() 调用会返回指向类型为 opaque 的对象的指针。如果未销毁该对象,则会导致内存泄漏。