找回密码
 立即注册
首页 资源区 代码 线程相关函数-条件量

线程相关函数-条件量

全叶农 2025-5-29 10:51:10
使用条件量可以让不满足条件的线程处于挂起状态,等待条件满足时由别的线程进行唤醒
pthread_cond_init函数

此函数可以对条件量进行初始化
  1. pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
  2. int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr);
  3. //cond:指向要初始化的条件变量的指针
  4. //attr:指向条件变量属性的指针。如果为 NULL,则使用默认属性初始化条件变量;如果需要自定义属性,可以通过 pthread_condattr_init 和相关函数设置属性
  5. //ret:成功返回0,失败返回错误码
复制代码
pthread_cond_wait函数

此函数可以让等待条件的线程处于挂起状态,直到条件量满足
  1. int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
  2. //cond:指向要初始化的条件变量的指针
  3. //mutex:指向互斥锁的指针
  4. //ret:成功返回0,失败返回错误码
复制代码
pthread_cond_broadcast 函数

此函数可以通知所有等待同一个条件量的线程
  1. int pthread_cond_broadcast(pthread_cond_t *cond);
  2. //cond:指向要初始化的条件变量的指针
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_cond_signal 函数

此函数可以通知所有等待条件量的线程
  1. int pthread_cond_signal(pthread_cond_t *cond);
  2. //cond:指向要初始化的条件变量的指针
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_cond_destroy函数

此函数可以销毁条件变量
  1. int pthread_cond_destroy(pthread_cond_t *cond);
  2. //cond:指向要初始化的条件变量的指针
  3. //ret:成功返回0,失败返回错误码
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册