C++ 具名要求:可定时锁定 (TimedLockable)
来自cppreference.com
可定时锁定 (TimedLockable) 要求描述为执行代理(线程、进程、任务)提供定时排他性阻塞语义的类型特征。
要求
对于要为可定时锁定 (TimedLockable) 的类型 L ,给定
-
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 上获得非共享锁。