Share via


mutex 类(C++ 标准库)

表示互斥体类型。 此类型的对象可用于强制程序内的互斥。

语法

class mutex;

成员

公共构造函数/析构函数

名称 描述
mutex 构造 mutex 对象。
~mutex 释放由 mutex 对象使用的任何资源。

公共方法

名称 描述
lock 阻止调用线程,直到线程获取 mutex 的所有权。
native_handle 返回表示 mutex 句柄的特定于实现的类型。
try_lock 在不阻止的情况下尝试获取 mutex 的所有权。
unlock 释放 mutex 的所有权。

要求

标头<mutex>

命名空间:std

lock

阻止调用线程,直到线程获取 mutex 的所有权。

void lock();

备注

如果调用线程已拥有 mutex,则该行为不确定。

构造函数

构造未锁定的 mutex 对象。
Microsoft 对此构造函数的实现不是 constexpr

mutex() noexcept;

析构函数

释放由 mutex 对象使用的任何资源。

~mutex();

备注

如果当析构函数运行时对象被锁定,则该行为不确定。

native_handle

返回表示 mutex 句柄的特定于实现的类型。 可以特定于实现的方式使用互斥体句柄。

native_handle_type native_handle();

返回值

native_handle_type 定义为 Concurrency::critical_section *,其强制转换为 void *

try_lock

在不阻止的情况下尝试获取 mutex 的所有权。

bool try_lock();

返回值

如果此方法成功获取 true 的所有权,则为 mutex;否则为 false

备注

如果调用线程已拥有 mutex,则该行为不确定。

unlock

释放 mutex 的所有权。

void unlock();

注解

如果调用线程不拥有 mutex,则该行为不确定。

另请参阅

头文件引用
<mutex>