C++多线程同步之条件变量

Condition variable

条件变量对象能够阻塞线程的调用直到通知其重启。

Member functions

构造函数,构造一个条件变量对象,条件变量对象不能被拷贝构造、移动拷贝构造。

析构函数,释放一个条件变量对象,任何处于阻塞状态的线程中的条件变量对象在没有被通知前都不能调用析构;任何线程不能在已经析构了的条件变量对象上调用阻塞

Wait functions

wait,等待直到被通知。该函数执行过程中的三个原子操作:1、初始开锁同时进入等待状态;2、解除等待状态;3、上锁并返回。异常安全:如果参数无效(例如,调用线程没有锁定互斥锁),将导致未定义行为。

wait_for,等待超时或者被通知。

wait_until,等待直到被通知或到某个时间点。

Notify functions

notify_one,通知一个阻塞的线程重启。

notify_all,通知所有阻塞的线程重启。

参考

  1. http://www.cplusplus.com/reference/condition_variable/condition_variable/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值