条件变量使用方法 (Condition Variable Usage) BACKWARDFORWARD


int pthread_cond_init(pthread_cond_t *cond,
        const pthread_condattr_t *attr = NULL );

pthread_cond_t  cond = PTHREAD_COND_INITIALIZER;
    初始化一个条件变量。    
    错误  EAGAIN,ENOMEM,EBUSY,EINVAL

int pthread_cond_destroy( pthread_cond_t *cond );
    毁坏一个条件变量。
    错误  EBUSY,EINVAL

int pthread_cond_signal( pthread_cond_t *cond );
    在一个指定的条件变量中, 至少使一个正阻塞的线索成为非阻塞。
    错误  EINVAL

int pthread_cond_broadcast( pthread_cond_t *cond );
    在一个指定的条件变量中, 使所有正阻塞的线索成为非阻塞。
    错误  EINVAL

int pthread_cond_wait( pthread_cond_t *cond, pthread_mutex_t *mutex );
    阻塞指定的条件变量。
    错误  EINVAL
    注意  这个函数是一个取消点。

int pthread_cond_timedwait( pthread_cond_t *cond, pthread_mutex_t *mutex,
          const struct timespec *abstime );
    在不超过指定的绝对时间内, 阻塞指定的条件变量。
    错误  ETIMEDOUT,EINVAL
    注意  这个函数是一个取消点。


Copyright: NPACT BACKWARDFORWARD