C++ 具名要求:基本可锁定 (BasicLockable)
来自cppreference.com
C++ 具名要求
基础 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
类型属性 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
库所属 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
容器 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
容器元素 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
迭代器 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
流 I/O | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
格式化 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
随机数 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
并发 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
范围 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
其他 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
基本可锁定 (BasicLockable) 要求描述提供为执行代理(即线程)提供排他性阻塞语义的类型的最小特征。
要求
对于要为基本可锁定 (BasicLockable)
的类型 L
, L
类型对象
m
必须满足下列条件:
表达式 | 前条件 | 效果 |
---|---|---|
m.lock() | 阻塞到能为当前执行代理(线程、进程、任务)取得锁为止。若抛异常,则不取得锁。 | |
m.unlock() | 当前执行代理在 m 上保有非共享锁。
|
释放执行代理曾保有的非共享锁。不抛异常。 |
非共享锁
若对象上的一个锁由调用 lock
、 try_lock
、
try_lock_for
或 try_lock_until
成员函数取得,则称之为非共享锁。