Namespaces
Variants

C++ named requirements: SharedLockable (since C++14)

From cppreference.net
C++ named requirements

Die SharedLockable Anforderungen beschreiben die minimalen Eigenschaften von Typen, die gemeinsame blockierende Semantik für Ausführungsagenten (d.h. Threads) bereitstellen.

Inhaltsverzeichnis

Anforderungen

Damit Typ L SharedLockable ist, müssen die folgenden Bedingungen für ein Objekt m vom Typ L erfüllt sein:

Expression Vorbedingungen Effekte Rückgabewert
m. lock_shared ( ) Blockiert, bis eine Sperre für den aktuellen Ausführungsagenten (Thread, Prozess, Task) erhalten werden kann. Wenn eine Ausnahme ausgelöst wird, wird keine Sperre erhalten.
m. try_lock_shared ( ) Versucht, eine Sperre für den aktuellen Ausführungsagenten (Thread, Prozess, Task) ohne Blockierung zu erhalten. Wenn eine Ausnahme ausgelöst wird, wird keine Sperre erhalten. true wenn die Sperre erhalten wurde, false andernfalls
m. unlock_shared ( ) Der aktuelle Ausführungsagent hält eine Shared-Lock auf m . Gibt die Shared-Lock frei, die vom Ausführungsagenten gehalten wird.

Löst keine Ausnahmen aus.

Gemeinsame Sperren

Eine Sperre auf einem Objekt wird als Shared Lock bezeichnet, wenn sie durch einen Aufruf der lock_shared , try_lock_shared , try_lock_shared_for - oder try_lock_shared_until -Memberfunktion erworben wird.

Standardbibliothek

Die folgenden Standardbibliothekstypen erfüllen SharedLockable Anforderungen:

bietet Einrichtung für gemeinsamen gegenseitigen Ausschluss
(Klasse)
bietet Einrichtung für gemeinsamen gegenseitigen Ausschluss und implementiert Sperrung mit Timeout
(Klasse)

Siehe auch