C++ 命名要求: TimedLockable (自 C++11 起)
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 上获取非共享锁。