timed_mutex — Klasa
Reprezentuje czasowy typ mutexu. Obiekty tego typu są używane do wymuszania wzajemnego wykluczania za pomocą blokowania ograniczonego czasowo w programie.
Składnia
class timed_mutex;
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
timed_mutex | timed_mutex Tworzy obiekt, który nie jest zablokowany. |
timed_mutex::~timed_mutex Destruktor | Zwalnia wszystkie zasoby, które są używane przez timed_mutex obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
lock | Blokuje wątek wywołujący do momentu uzyskania własności wątku mutex . |
try_lock | Próbuje uzyskać własność obiektu mutex bez blokowania. |
try_lock_for | Próbuje uzyskać własność mutex obiektu dla określonego przedziału czasu. |
try_lock_until | Próbuje uzyskać własność obiektu mutex do określonego czasu. |
Odblokować | Zwalnia własność obiektu mutex . |
Wymagania
Nagłówek:<mutex>
Przestrzeń nazw: std
timed_mutex::lock
Blokuje wątek wywołujący do momentu uzyskania własności wątku mutex
.
void lock();
Uwagi
Jeśli wątek wywołujący jest już właścicielem mutex
, zachowanie jest niezdefiniowane.
timed_mutex::timed_mutex, konstruktor
timed_mutex
Tworzy obiekt, który nie jest zablokowany.
timed_mutex();
timed_mutex::~timed_mutex Destruktor
Zwalnia wszystkie zasoby, które są używane przez mutex
obiekt.
~timed_mutex();
Uwagi
Jeśli obiekt jest zablokowany po uruchomieniu destruktora, zachowanie jest niezdefiniowane.
timed_mutex::try_lock
Próbuje uzyskać własność obiektu mutex
bez blokowania.
bool try_lock();
Wartość zwracana
true
jeśli metoda pomyślnie uzyskuje własność mutex
; w przeciwnym razie false
, .
Uwagi
Jeśli wątek wywołujący jest już właścicielem mutex
, zachowanie jest niezdefiniowane.
timed_mutex::try_lock_for
Próbuje uzyskać własność obiektu mutex
bez blokowania.
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
Parametry
Rel_time
Obiekt chrono::d uration określający maksymalny czas próby uzyskania własności obiektu mutex
.
Wartość zwracana
true
jeśli metoda pomyślnie uzyskuje własność mutex
; w przeciwnym razie false
, .
Uwagi
Jeśli wątek wywołujący jest już właścicielem mutex
, zachowanie jest niezdefiniowane.
timed_mutex::try_lock_until
Próbuje uzyskać własność obiektu mutex
bez blokowania.
template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);
bool try_lock_until(const xtime* Abs_time);
Parametry
Abs_time
Punkt w czasie określający próg, po którym metoda nie próbuje już uzyskać własności obiektu mutex
.
Wartość zwracana
true
jeśli metoda pomyślnie uzyskuje własność mutex
; w przeciwnym razie false
, .
Uwagi
Jeśli wątek wywołujący jest już właścicielem mutex
, zachowanie jest niezdefiniowane.
timed_mutex::unlock
Zwalnia własność obiektu mutex
.
void unlock();
Uwagi
Jeśli wątek wywołujący nie jest właścicielem mutex
, zachowanie jest niezdefiniowane.