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