多线程编程指南

cond_init 语法

#include <thread.h>



int cond_init(cond_t *cv, int type, int arg);

type 可以是以下值之一:

条件变量还可以通过在清零的内存中进行分配来初始化,在这种情况下假设 type 为 USYNC_THREAD

多个线程决不能同时初始化同一个条件变量。对于其他线程可能正在使用的条件变量,不得重新初始化。

对于 POSIX 线程,请参见pthread_condattr_init 语法

进程内条件变量

#include <thread.h>



cond_t cv;

int ret;



/* to be used within this process only */

ret = cond_init(cv, USYNC_THREAD, 0); 

进程间条件变量

#include <thread.h>



cond_t cv;

int ret;



/* to be used among all processes */

ret = cond_init(&cv, USYNC_PROCESS, 0);