linux环境编程-线程同步【条件变量-生产者消费者】

it2023-12-27  63

一.条件变量

条件变量本身不是锁,但他可以造成线程阻塞,通常与互斥锁配合使用。给多线程提供一个会和场所

 

二.条件变量主要应用函数

int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr); int pthread_cond_signal(pthread_cond_t *cond); int pthread_cond_broadcast(pthread_cond_t *cond); int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); int pthread_cond_destroy(pthread_cond_t *cond);

以上6个函数成功都是返回0, 失败返回错误号。

pthread_cond_t 类型 定义条件变量如:pthread_cond_t cond;

 

要重点讲的就是这个 pthread_cond_wait

1.阻塞等

最新回复(0)