C++ named requirements: TimedLockable (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimedLockable 需求描述了为执行代理(线程、进程、任务)提供定时独占阻塞语义的类型特性。
目录 |
要求
对于类型
L
成为
TimedLockable
,需满足以下条件:
-
rel_time,一个 std::chrono::duration 特化的值,以及 -
abs_time,一个 std::chrono::time_point 特化的值,
对于类型为
L
的对象
m
,需满足以下条件:
| 表达式 | 效果 | 返回值 |
|---|---|---|
| m. try_lock_for ( rel_time ) |
在指定的持续时间
rel_time
内阻塞,或直到成功获取
m
的锁。
|
true 表示成功获取锁, false 表示未成功。 |
| m. try_lock_until ( abs_time ) |
阻塞直到达到指定的时间点
abs_time
或成功获取
m
的锁。
|
true 表示成功获取锁, false 表示未成功。 |
注释
try_lock_for
和
try_lock_until
成员函数在成功时获取对
m
的非共享锁。
标准库
以下标准库类型满足 TimedLockable 要求:
|
(C++11)
|
提供支持超时机制的互斥设施
(类) |
|
(C++11)
|
提供可由同一线程递归锁定且支持超时机制的互斥设施
(类) |
|
(C++14)
|
提供共享互斥设施并支持超时锁定机制
(类) |