C++ 命名要求: TimedLockable (自 C++11 起)
来自 cppreference.cn
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 上的非共享锁。
[编辑] 标准库
以下标准库类型满足 TimedLockable
(C++11) |
提供互斥设施,实现带超时的锁定 (类) |
(C++11) |
提供互斥设施,可以被同一线程递归锁定,并实现带超时的锁定 by the same thread and implements locking with a timeout (类) |
(C++14) |
提供共享互斥设施,并实现带超时的锁定 (类) |