C++ 命名需求: TimedLockable (自 C++11 起)
来自 cppreference.com
The 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
的非共享锁。