lock_guard 类
表示可进行实例化以创建其析构函数解锁 mutex
的对象的模板。
语法
template <class Mutex>
class lock_guard;
备注
模板参数 Mutex
必须命名为 mutex 类型。
成员
公共 Typedef
名称 | 描述 |
---|---|
lock_guard::mutex_type |
模板参数 Mutex 的同义词。 |
公共构造函数
名称 | 描述 |
---|---|
lock_guard | 构造 lock_guard 对象。 |
lock_guard::~lock_guard 析构函数 | 解锁传递给构造函数的 mutex 。 |
要求
标头:<mutex>
命名空间: std
lock_guard::lock_guard 构造函数
构造 lock_guard
对象。
explicit lock_guard(mutex_type& Mtx);
lock_guard(mutex_type& Mtx, adopt_lock_t);
参数
Mtx
一个 mutex 类型对象。
备注
第一个构造函数构造一个 lock_guard
类型的对象并锁定 Mtx。 如果 Mtx 不是递归互斥体,则在调用此构造函数时必须将其解锁。
第二个构造函数不会锁定 Mtx。 调用此构造函数时,必须锁定 Mtx。 此构造函数不会引发异常。
lock_guard::~lock_guard 析构函数
解锁传递给构造函数的 mutex
。
~lock_guard() noexcept;
注解
如果析构函数运行时 mutex
不存在,则该行为不确定。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈