C++ 具名要求:可锁定 (Lockable) (C++11 起)
来自cppreference.com
可锁定 (Lockable) 要求扩展了可基本锁定 (BasicLockable) 要求,以包含尝试性的锁定。
目录 |
[编辑] 要求
对于要为可锁定 (Lockable) 的类型 L
,它必须满足以上还有以下的条件:
表达式 | 效果 | 返回值 |
---|---|---|
m.try_lock() | 试图为当前执行代理(线程、进程、任务)取得锁,而不阻塞。若抛异常,则不取得锁。 | 若取得锁则为 true,否则为 false |
[编辑] 注解
try_lock
成员函数在成功时在 m 上获得非共享锁。
[编辑] 标准库
下列标准库类型满足可锁定 (Lockable) :
(C++11) |
提供基本互斥设施 (类) |
(C++11) |
提供能被同一线程递归锁定的互斥设施 (类) |
(C++11) |
提供能被同一线程递归锁定的互斥设施,并实现有时限锁定 (类) |
(C++17) |
提供共享互斥设施 (类) |
(C++14) |
提供共享互斥设施并实现有时限锁定 (类) |
(C++11) |
提供互斥设施,实现有时限锁定 (类) |