timed_mutex-Klasse
Stellt einen timed mutex type dar. Objekte dieses Typs werden verwendet, um den gegenseitigen Ausschluss durch zeitlich begrenzte Blockierung innerhalb eines Programms zu erzwingen.
Syntax
class timed_mutex;
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
timed_mutex | Erstellt ein timed_mutex -Objekt, das nicht gesperrt ist. |
timed_mutex::~timed_mutex-Destruktor | Gibt alle Ressourcen frei, die vom timed_mutex -Objekt verwendet werden. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
lock | Blockiert den aufrufenden Thread, bis der Thread in den Besitz von mutex gelangt. |
try_lock | Versucht, ohne Blockierung in den Besitz von mutex zu gelangen. |
try_lock_for | Versucht, den Besitz von mutex für ein angegebenes Zeitintervall zu erlangen. |
try_lock_until | Versucht, den Besitz von mutex bis zu einem angegebenen Zeitpunkt zu erlangen. |
unlock | Gibt den Besitz von mutex frei. |
Anforderungen
Header:<mutex>
Namespace: std
timed_mutex::lock
Blockiert den aufrufenden Thread, bis der Thread in den Besitz von mutex
gelangt.
void lock();
Hinweise
Wenn der aufrufende Thread bereits im Besitz von mutex
ist, so ist das Verhalten nicht definiert.
timed_mutex::timed_mutex-Konstruktor
Erstellt ein timed_mutex
-Objekt, das nicht gesperrt ist.
timed_mutex();
timed_mutex::~timed_mutex-Destruktor
Gibt alle Ressourcen frei, die vom mutex
-Objekt verwendet werden.
~timed_mutex();
Hinweise
Wenn das Objekt gesperrt ist, wenn der Destruktor ausgeführt wird, ist das Verhalten nicht definiert.
timed_mutex::try_lock
Versucht, ohne Blockierung in den Besitz von mutex
zu gelangen.
bool try_lock();
Rückgabewert
true
, wenn die Methode erfolgreich in den Besitz von mutex
gelangt; andernfalls false
.
Hinweise
Wenn der aufrufende Thread bereits im Besitz von mutex
ist, so ist das Verhalten nicht definiert.
timed_mutex::try_lock_for
Versucht, ohne Blockierung in den Besitz von mutex
zu gelangen.
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
Parameter
Rel_time
Ein chrono::duration-Objekt, das angibt, wie lange die Methode höchstens versucht, in den Besitz von mutex
zu gelangen.
Rückgabewert
true
, wenn die Methode erfolgreich in den Besitz von mutex
gelangt; andernfalls false
.
Hinweise
Wenn der aufrufende Thread bereits im Besitz von mutex
ist, so ist das Verhalten nicht definiert.
timed_mutex::try_lock_until
Versucht, ohne Blockierung in den Besitz von mutex
zu gelangen.
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);
Parameter
Abs_time
Ein Zeitpunkt, der den Schwellenwert angibt, nach dem die Methode nicht mehr versucht, in den Besitz von mutex
zu gelangen.
Rückgabewert
true
, wenn die Methode erfolgreich in den Besitz von mutex
gelangt; andernfalls false
.
Hinweise
Wenn der aufrufende Thread bereits im Besitz von mutex
ist, so ist das Verhalten nicht definiert.
timed_mutex::unlock
Gibt den Besitz von mutex
frei.
void unlock();
Hinweise
Wenn der aufrufende Thread nicht im Besitz von mutex
ist, so ist das Verhalten nicht definiert.