C++ 命名要求: Lockable (自 C++11 起)
来自 cppreference.cn
Lockable 要求扩展了 BasicLockable 要求,以包含尝试锁定。
目录 |
[编辑] 要求
对于类型 L
成为 Lockable,它必须满足上述条件以及以下条件
表达式 | 效果 | 返回值 |
---|---|---|
m.try_lock() | 尝试为当前执行代理(线程、进程、任务)获取锁,而不会阻塞。如果抛出异常,则不会获得任何锁。 | true 如果已获取锁,false 否则 |
[编辑] 注释
try_lock
成员函数在成功时获取 m 上的非共享锁。
[编辑] 标准库
以下标准库类型满足 Lockable 要求
(C++11) |
提供基本的互斥机制 (类) |
(C++11) |
提供互斥机制,该机制可以由同一线程递归锁定 (类) |
(C++11) |
提供互斥机制,该机制可以递归锁定 由同一线程锁定,并实现带超时的锁定 (类) |
(C++17) |
提供共享互斥机制 (类) |
(C++14) |
提供共享互斥机制,并实现带超时的锁定 (类) |
(C++11) |
提供互斥机制,该机制实现带超时的锁定 (类) |