C++ benannte Anforderungen: TimedLockable (seit C++11)
Von cppreference.com
< cpp | benannte req
Die TimedLockable-Anforderungen beschreiben die Eigenschaften von Typen, die zeitgesteuerte exklusive Sperrsemantik für Ausführungsagenten (Threads, Prozesse, Aufgaben) bereitstellen.
Inhalt |
[bearbeiten] Anforderungen
Damit der Typ L TimedLockable ist, unter Berücksichtigung von
-
rel_time, einem Wert einer Spezialisierung von std::chrono::duration, und -
abs_time, einem Wert einer Spezialisierung von std::chrono::time_point,
müssen die folgenden Bedingungen für ein Objekt m vom Typ L erfüllt sein:
| Ausdruck | Effekte | Rückgabewert |
|---|---|---|
| m.try_lock_for(rel_time) | Blockiert für die angegebene Dauer rel_time oder bis eine Sperre für m erworben wurde. |
true, wenn die Sperre erworben wurde, false andernfalls. |
| m.try_lock_until(abs_time) | Blockiert, bis der angegebene Zeitpunkt abs_time erreicht ist oder eine Sperre für m erworben wurde. |
true, wenn die Sperre erworben wurde, false andernfalls. |
[bearbeiten] Hinweise
Die Memberfunktionen try_lock_for und try_lock_until erwerben bei Erfolg eine nicht-geteilte Sperre für m.
[bearbeiten] Standardbibliothek
Die folgenden Standardbibliothekstypen erfüllen TimedLockable
| (C++11) |
bietet Gegenseitiger-Ausschluss-Funktionen, die ein Sperren mit Timeout implementieren (Klasse) |
| (C++11) |
bietet Gegenseitiger-Ausschluss-Funktionen, die rekursiv gesperrt werden können von demselben Thread und implementiert ein Sperren mit Timeout (Klasse) |
| (C++14) |
bietet gemeinsame Gegenseitiger-Ausschluss-Funktionen und implementiert ein Sperren mit Timeout (Klasse) |