Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.