表示可进行实例化以创建其析构函数解锁 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 不存在,则该行为不确定。