首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::condition_variable_any

Defined in header <condition_variable>

?

?

class condition_variable_any;

?

(since C++11)

condition_variable_any类是std::condition_variable.鉴于std::condition_variable只在std::unique_lock<std::mutex>,,,condition_variable_any可以对满足BasicLockable所需经费。

std::condition_variable用于描述条件变量的语义。

全班std::condition_variable_any是一个标准布局类。它不是可复制的、可移动的、可复制的或可移动的.

如果锁是std::unique_lock,,,std::condition_variable可以提供更好的性能。

成员函数

(constructor)

constructs the object (public member function)

(destructor)

destructs the object (public member function)

operator= deleted

not copy-assignable (public member function)

通知

通知[医]通知一个等待线程%28公共成员函数%29

通知[医]所有通知所有等待线程%28公共成员函数%29

等待

等待阻止当前线程,直到唤醒条件变量%28公共成员函数%29

等待[医]对于阻塞当前线程,直到条件变量被唤醒为止,或者在指定的超时持续时间%28公共成员函数%29之后。

等待[医]直到阻塞当前线程,直到条件变量被唤醒,或者直到达到指定的时间点为止,才达到%28公共成员函数%29。

注记

std::condition_variable_any可与std::shared_lock为了等待std::shared_mutex在共享所有权模式下。

可能的用途std::condition_variable_any有习俗Lockable类型是为了提供方便的可中断等待:自定义锁操作既可以按预期锁定相关的互斥对象,也可以执行必要的设置,以便在收到中断信号时通知该条件变量。[1]

参考文献

  1. A.Williams%282012%29,“C++在行动中的并发”9.2.4插入等待STD::条件[医]变量[医]任何
代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com