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
    一个 chrono::duration 对象,指定此方法尝试获取 mutex 所有权的最大时间量。

  • 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>