Freigeben über


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.

Siehe auch

Headerdateienreferenz
<mutex>