构造 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