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
,则该行为不确定。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈