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 成员函数取得,则称之为共享锁

参阅