C++ 具名要求:可共享锁定 (SharedLockable) (C++14 起)

来自cppreference.com
< cpp‎ | named req


 
 
C++ 具名要求
 

可共享锁定 (SharedLockable) 要求描述向执行代理(即线程)提供共享阻塞语义的类型的最小特征。

要求

对于要为可共享锁定 (SharedLockable) 的类型 LL 类型的对象 m 必须满足下列条件:

表达式前条件效果返回值
m.lock_shared()阻塞直至能为当前执行代理(线程、进程、任务)获得锁。若抛异常则不获得锁。
m.try_lock_shared()尝试为当前执行代理(线程、进程、任务)获得锁。若抛异常则不获得锁。若获得锁则为 true,否则为 false
m.unlock_shared()当前执行代理保有 m 上的共享锁。释放执行代理曾保有的共享锁。

不抛异常。

共享锁

若对象上的一个锁由调用 lock_sharedtry_lock_sharedtry_lock_shared_fortry_lock_shared_until 成员函数取得,则称之为共享锁

标准库

下列标准库类型满足可共享锁定 (SharedLockable)

提供共享互斥设施
(类)
提供共享互斥设施并实现有时限锁定
(类)

参阅