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

另请参阅

头文件引用
<mutex>