【linux系统编程学习笔记】第十三节:线程的安全机制3(条件变量)(pthread_cond_wait、pthread_cond_signal、pthread_cond_broadcast)

本文介绍了Linux系统编程中线程安全的重要工具——条件变量,包括pthread_cond_init、pthread_cond_destroy、pthread_cond_wait、pthread_cond_timedwait、pthread_cond_signal和pthread_cond_broadcast等API的使用。条件变量允许线程在特定条件满足时挂起,待其他线程改变条件后再唤醒。
摘要由CSDN通过智能技术生成

线程的安全机制3——条件变量

条件变量

条件变量API

pthread_cond_init   初始化一个条件变量

pthread_cond_destroy  销毁一个条件变量

pthread_cond_wait   条件变量等待函数

pthread_cond_timedwait  规定等待时间的条件变量等待函数

pthread_cond_signal  唤醒一个因为条件变量而陷入睡眠的线程

pthread_cond_broadcast  广播唤醒所有因为条件变量而陷入睡眠的线程

例程:


条件变量

概念:

        专门为了互斥锁而诞生的辅助工具,条件变量是一种同步机制,允许线程挂起,直到共享数据上的某些条件得到满足。条件变量上的基本操作有:触发条件(当条件变为 true 时);等待条件,挂起线程直到其他线程触发条件。

条件变量API

pthread_cond_init   初始化一个条件变量

pthread_cond_destroy  销毁一个条件变量

#include <pthread.h>  
int pthread_cond_init(pthread_cond_t *restrict cond,            
            const pthread_condattr_t *restrict attr); 
int pthread_cond_destroy(pthread_ cond _t * cond);

函数功能

  • pthread_cond_init:条件变量的初始化
  • pthread_cond_destroy:销毁一个条件变量

参数

  • cond:需要的条件变量
  • Attr:这个参数设置为NULL,代表按照默认的条件进行初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值