unique_lock::unique_lock构造函数

构造 unique_lock 对象。

unique_lock() noexcept;
unique_lock(unique_lock&& Other) noexcept;
explicit unique_lock(mutex_type& Mtx);
unique_lock(mutex_type& Mtx, adopt_lock_t Adopt);
unique_lock(mutex_type& Mtx, defer_lock_t Defer) noexcept;
unique_lock(mutex_type& Mtx, try_to_lock_t Try);
template<class Rep, class Period>
   unique_lock(mutex_type& Mtx,
      const chrono::duration<Rep, Period> Rel_time);
template<class Clock, class Duration>
   unique_lock(mutex_type& Mtx,
      const chrono::time_point<Clock, Duration> Abs_time);
unique_lock(mutex_type& Mtx,
   const xtime *Abs_time) noexcept;

参数

  • Mtx
    mutex 类型的对象。

  • Rel_time
    指定最大时间量方法尝试获取 mutex的所有权的 chrono::duration 对象。

  • Abs_time
    指定的阈值,在之后方法的时间点不再尝试获取 mutex的所有权。

  • Other
    unique_lock 对象。

备注

第一个构造函数构造具有关联的 mutex 指针值为 0 的对象。

第二个构造函数 Other移动关联的 mutex 状态。在移动,Other 不再与 mutex 后。

其余的构造函数存储&Mtx 为存储的 mutex 指针。如果存在,第二个参数取决于 mutex 的所有权。

No argument

所有权通过调用关联的 mutex 对象的 lock 方法获取。

Adopt

假定所有权。当构造函数调用时,Mtx 必须锁定的。

Defer

调用线程假设不对自己 mutex 对象。当构造函数调用时,Mtx 未能锁定的。

Try

调用关联的 mutex 对象的 try_lock 取决于所有权。构造函数没有引发。

Rel_time

调用 try_lock_for(Rel_time)取决于所有权。

Abs_time

调用 try_lock_until(Abs_time)取决于所有权。

要求

**标头:**mutex

**命名空间:**std

请参见

参考

unique_lock选件类

<mutex>