C++ 命名要求: BasicLockable (自 C++11 起)
来自 cppreference.com
The BasicLockable requirements describe the minimal characteristics of types that provide exclusive blocking semantics for execution agents (i.e. threads).
[编辑] 要求
对于类型 L
来说,要成为 BasicLockable,必须满足以下条件,对于类型 L
的对象 m
表达式 | 先决条件 | 效果 |
---|---|---|
m.lock() | 阻塞,直到当前执行代理(线程、进程、任务)能够获取锁。如果抛出异常,则不会获取锁。 | |
m.unlock() | 当前执行代理持有 m 的非共享锁。 |
释放执行代理持有的非共享锁。 不抛出异常。 |
[编辑]
如果锁是通过调用 lock
、try_lock
、try_lock_for
或 try_lock_until
成员函数获取的,则称该锁为非共享锁。