std::condition_variable_any
性病:情况[医]变量[医]任何
Defined in header | | |
---|---|---|
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]
参考文献
- A.Williams%282012%29,“C++在行动中的并发”9.2.4插入等待STD::条件[医]变量[医]任何
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。