Freigeben über


unique_lock::unique_lock-Konstruktor

Erstellt ein unique_lock-Objekt.

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;

Parameter

  • Mtx
    Ein Mutex geben Objekt ein.

  • Rel_time
    Ein chrono::duration-Objekt, das angibt, wie lange die Methode höchstens versucht, in den Besitz von mutex zu gelangen.

  • Abs_time
    Ein Zeitpunkt, der den Schwellenwert angibt, nach dem die Methode nicht mehr versucht, in den Besitz von mutex zu gelangen.

  • Other
    Ein unique_lock-Objekt.

Hinweise

Der erste Konstruktor erstellt ein Objekt, das einen zugeordneten Mutexzeigerwert von 0 verfügt.

Der zweite Konstruktor verschiebt den zugeordneten Mutexstatus von Other. Nach dem Verschieben, Other nicht mehr mit einem Mutex zugeordnet ist.

Die weiteren Konstruktoren speichern &Mtx als gespeicherte mutex Zeiger. Besitz mutex wird im zweiten Argument bestimmt, falls vorhanden.

No argument

Besitz wird abgerufen, indem die lock-Methode auf dem zugeordneten mutex-Objekt aufruft.

Adopt

Besitz wird angenommen. Mtx muss gesperrt werden, wenn der Konstruktor aufgerufen wird.

Defer

Der aufrufende Thread wird nicht in eigenem das Objekt mutex ausgegangen. Mtx darf nicht gesperrt werden, wenn der Konstruktor aufgerufen wird.

Try

Besitz wird ermittelt, indem der try_lock auf dem zugeordneten mutex-Objekt aufruft. Der Konstruktor löst nichts aus.

Rel_time

Besitz wird bestimmt, indem try_lock_for(Rel_time) aufgerufen wird.

Abs_time

Besitz wird bestimmt, indem try_lock_until(Abs_time) aufgerufen wird.

Anforderungen

Header: mutex

Namespace: std

Siehe auch

Referenz

unique_lock-Klasse

<mutex>