std::shared_timed_mutex:: lock_shared
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
|
shared_timed_mutex::lock_shared
|
||||
|
void
lock_shared
(
)
;
|
(自 C++14 起) | |
获取互斥锁的共享所有权。如果其他线程正以独占所有权持有该互斥锁,调用
lock_shared
将阻塞执行,直到能够获得共享所有权。
如果已以任何模式(独占或共享)拥有
mutex
的线程调用
lock_shared
,则行为未定义。
如果已以共享模式锁定互斥量的共享所有者数量超过实现定义的最大值,
lock_shared
将阻塞执行,直到共享所有者数量减少。该最大所有者数量保证至少为10000。
对同一互斥量的先前 unlock() 操作与此操作形成 同步关系 (定义参见 std::memory_order )。
目录 |
参数
(无)
返回值
(无)
异常
当发生错误时抛出
std::system_error
,包括来自底层操作系统的错误,这些错误会阻止
lock
满足其规范。在任何异常被抛出的情况下,互斥锁不会被锁定。
注释
lock_shared()
通常不直接调用:使用
std::shared_lock
来管理共享锁定。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
锁定互斥锁,若互斥锁不可用则阻塞
(公开成员函数) |
|
|
尝试以共享所有权锁定互斥锁,若互斥锁不可用则立即返回
(公开成员函数) |
|
|
解锁互斥锁(共享所有权)
(公开成员函数) |