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,则该行为不确定。

另请参阅

头文件引用
<mutex>