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