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

来自cppreference.com
< cpp‎ | named req
 
 
C++ 具名要求
基础
类型属性
库所属
容器
容器元素
(C++11)

迭代器
流 I/O
格式化
(C++20)
随机数
(C++11)    
并发
(C++11)
SharedLockable
(C++14)
(C++11)
(C++11)
范围
其他
(C++11)


 

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

要求

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

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

不抛异常。

共享锁

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

参阅