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
上获得非共享锁。