C++ benannte Anforderungen: SharedTimedLockable (seit C++14)
Von cppreference.com
< cpp | benannte req
Die SharedTimedLockable Anforderungen beschreiben die Eigenschaften von Typen, die zeitgesteuerte, gemeinsam genutzte Sperrsemantik für Ausführungsagenten (Threads, Prozesse, Tasks) bereitstellen.
Inhalt |
[bearbeiten] Anforderungen
Damit der Typ L SharedTimedLockable ist, müssen für ein Objekt m vom Typ L die folgenden Bedingungen erfüllt sein, wobei
-
rel_timeein Wert einer Spezialisierung von std::chrono::duration ist und -
abs_timeein Wert einer Spezialisierung von std::chrono::time_point ist,
die folgenden Bedingungen für ein Objekt m vom Typ L erfüllt sein müssen:
| Ausdruck | Erfordert | Rückgabewert |
|---|---|---|
| m.try_lock_shared_for(rel_time) | Blockiert für die angegebene Dauer rel_time oder bis eine gemeinsame Sperre für m erworben wurde. |
true, wenn die Sperre erworben wurde, andernfalls false. |
| m.try_lock_shared_until(abs_time) | Blockiert, bis der angegebene Zeitpunkt abs_time erreicht ist oder eine gemeinsame Sperre für m erworben wurde. |
true, wenn die Sperre erworben wurde, andernfalls false. |
[bearbeiten] Hinweise
Die Memberfunktionen try_lock_shared_for und try_lock_shared_until erwerben im Erfolgsfall eine gemeinsame Sperre für m.
[bearbeiten] Standardbibliothek
Die folgenden Standardbibliothekstypen erfüllen die Anforderungen an SharedTimedLockable
| (C++14) |
bietet gemeinsame Gegenseitiger-Ausschluss-Funktionen und implementiert ein Sperren mit Timeout (Klasse) |