次の方法で共有


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

参照

関連項目

unique_lock クラス

<mutex>