C++ 具名要求:可定时锁定 (TimedLockable) (C++11 起)
来自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 上获得非共享锁。