命名空间
变体
操作

C++ 命名要求: SharedLockable (自 C++14 起)

来自 cppreference.cn
< cpp‎ | named req
 
 
C++ 命名要求
 

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

目录

[编辑] 要求

对于类型 L 成为 SharedLockable,类型为 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 成员函数获取对象上的锁,则称该锁为共享锁

[编辑] 标准库

以下标准库类型满足 SharedLockable 要求

提供共享互斥设施
(类) [编辑]
提供共享互斥设施,并实现带超时的锁定
(类) [编辑]

[编辑] 参见