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
ミューテックスはオブジェクトを入力します。Rel_time
メソッドが mutexの所有権を取得しようと最大時間を指定する chrono::duration のオブジェクト。Abs_time
しきい値の後にメソッドを指定するときは、mutexの所有権を取得しません。Other
unique_lock オブジェクト。
解説
一つ目のコンストラクターは、0 の関連するミューテックス ポインターの値であるオブジェクトを構築します。
2 つ目のコンストラクターは、Otherから、関連付けられたミューテックスの状態を移動します。移動、Other がミューテックスに関連付けられない後。
mutex に格納されているポインターとして残りのコンストラクター ストアとMtx。mutex の所有権は 2 番目の引数である場合、決まります。
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)を呼び出すことによって決まります。 |
必要条件
ミューテックスのヘッダー:
名前空間: std