Sdílet prostřednictvím


unique_lock::unique_lock – konstruktor

Sestavte objekt 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;

Parametry

  • Mtx
    Typ objektu mutex.

  • Rel_time
    A chrono::duration objekt, který určuje maximální dobu, po kterou se metoda pokusí získat vlastnictví mutex.

  • Abs_time
    Bod v čase, který určuje práh, po kterém se metoda již pokouší získat vlastnictví mutex.

  • Other
    Objekt unique_lock.

Poznámky

První konstruktor vytvoří objekt, který má přidružený objekt mutex ukazatel hodnotu 0.

Druhý konstruktor přesune přidružený objekt mutex stav z Other.Po přesunutí Other již je přidružen k objektu mutex.

Zbývající úložiště konstruktory &Mtx uloženým mutex ukazatele.Vlastnictví mutex je určen druhý argument, pokud existuje.

No argument

Vlastnictví je získáno voláním lock metoda na přidružené mutex objektu.

Adopt

Předpokládá se vlastnictví.Mtxmusí být uzamčen při volání konstruktoru.

Defer

Volající vlákno je považováno za vlastní mutex objektu.Mtxnesmějí být uzamčeny, když je zavolán konstruktor.

Try

Vlastnictví je určena voláním try_lock na přidružené mutex objektu.Konstruktor vyvolá nic.

Rel_time

Vlastnictví je určena voláním try_lock_for(Rel_time).

Abs_time

Vlastnictví je určena voláním try_lock_until(Abs_time).

Požadavky

Záhlaví: mutex

Obor názvů: std

Viz také

Referenční dokumentace

unique_lock – třída

<mutex>