timed_mutex 类
表示定时互斥体类型。 此类型的对象在程序内通过时间限制阻止强制实现互相排斥。
语法
class timed_mutex;
成员
公共构造函数
名称 | 描述 |
---|---|
timed_mutex | 构造未锁定的 timed_mutex 对象。 |
timed_mutex::~timed_mutex 构造函数 | 释放由 timed_mutex 对象使用的任何资源。 |
公共方法
名称 | 描述 |
---|---|
lock | 阻止调用线程,直到线程获取 mutex 的所有权。 |
try_lock | 在不阻止的情况下尝试获取 mutex 的所有权。 |
try_lock_for | 尝试获取在指定时间间隔内有效的 mutex 的所有权。 |
try_lock_until | 尝试获取在指定时间之前有效的 mutex 的所有权。 |
unlock | 释放 mutex 的所有权。 |
要求
标头:<mutex>
命名空间: std
timed_mutex::lock
阻止调用线程,直到线程获取 mutex
的所有权。
void lock();
备注
如果调用线程已拥有 mutex
,则该行为不确定。
timed_mutex::timed_mutex 构造函数
构造未锁定的 timed_mutex
对象。
timed_mutex();
timed_mutex::~timed_mutex 构造函数
释放由 mutex
对象使用的任何资源。
~timed_mutex();
备注
如果当析构函数运行时对象被锁定,则该行为不确定。
timed_mutex::try_lock
在不阻止的情况下尝试获取 mutex
的所有权。
bool try_lock();
返回值
如果此方法成功获取 true
的所有权,则为 mutex
;否则为 false
。
备注
如果调用线程已拥有 mutex
,则该行为不确定。
timed_mutex::try_lock_for
在不阻止的情况下尝试获取 mutex
的所有权。
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
参数
Rel_time
一个 chrono::duration 对象,指定此方法尝试获取 mutex
所有权的最大时间量。
返回值
如果此方法成功获取 true
的所有权,则为 mutex
;否则为 false
。
备注
如果调用线程已拥有 mutex
,则该行为不确定。
timed_mutex::try_lock_until
在不阻止的情况下尝试获取 mutex
的所有权。
template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);
bool try_lock_until(const xtime* Abs_time);
参数
Abs_time
一个时间点,指定阈值,在此之后此方法不再尝试获取 mutex
所有权。
返回值
如果此方法成功获取 true
的所有权,则为 mutex
;否则为 false
。
备注
如果调用线程已拥有 mutex
,则该行为不确定。
timed_mutex::unlock
释放 mutex
的所有权。
void unlock();
备注
如果调用的线程不拥有 mutex
,则该行为不确定。