std::shared_lock
STD::共享[医]锁
Defined in header | | |
---|---|---|
template< class Mutex > class shared_lock; | | (since C++14) |
全班shared_lock
是一个通用的共享互斥锁所有权包装器,允许延迟锁定、定时锁定和锁所有权的传输。锁定shared_lock
将关联的共享互斥锁在共享模式%28中,以将其锁定为独占模式,std::unique_lock
可以使用%29。
大shared_lock
类是可移动的,但不可复制--它符合MoveConstructible
和MoveAssignable
但不是CopyConstructible
或CopyAssignable
...
为了在共享的互斥对象中等待共享所有权模式,std::condition_variable_any
可以使用%28std::condition_variable
要求std::unique_lock
因此只能在唯一的所有权模式%29中等待。
模板参数
Mutex | - | the type of the shared mutex to lock. The type must meet the SharedMutex requirements |
---|
成员类型
Type | Definition |
---|---|
mutex_type | Mutex |
成员函数
(constructor) | constructs a shared_lock, optionally locking the supplied mutex (public member function) |
---|---|
(destructor) | unlocks the associated mutex (public member function) |
operator= | unlocks the mutex, if owned, and acquires ownership of another (public member function) |
共享锁定
锁锁关联的互斥体%28公共成员函数%29
试一试[医]锁试图锁定关联的互斥体%28公共成员函数%29
试一试[医]锁[医]对于试图锁定关联互斥对象,在指定的持续时间%28公共成员函数%29
试一试[医]锁[医]直到尝试锁定关联的互斥对象,直到指定的时间点%28公共成员函数%29
解锁相关互斥锁%28公共成员函数%29
修饰符
用另一个共享交换数据成员[医]锁定%28公共成员功能%29
释放互斥锁而不解锁%28公共成员函数%29
观察员
互斥锁返回指向关联的互斥量%28公共成员函数%29的指针。
拥有[医]锁测试锁是否拥有其关联的互斥量%28公共成员函数%29
运算符bool测试锁是否拥有其关联的互斥体%28公共成员函数%29。
非会员职能
std::swap(std::shared_lock) | specialization of std::swap for shared_lock (function template) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。