在线文档教程
C++
线程支持 | Thread support

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类是可移动的,但不可复制--它符合MoveConstructibleMoveAssignable但不是CopyConstructibleCopyAssignable...

为了在共享的互斥对象中等待共享所有权模式,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

成员类型

TypeDefinition
mutex_typeMutex

成员函数

(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。

http://en.cppreference.com/w/cpp/线程/Shared[医]锁