Namensräume
Varianten
Aktionen

C++ benannte Anforderungen: SharedLockable (seit C++14)

Von cppreference.com
 
 
C++ benannte Anforderungen
 

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

Inhalt

[bearbeiten] Anforderungen

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

Ausdruck Vorbedingungen Effekte Rückgabewert
m.lock_shared() Blockiert, bis eine Sperre für die aktuelle Ausführungsumgebung (Thread, Prozess, Task) erhalten werden kann. Wenn eine Ausnahme ausgelöst wird, wird keine Sperre erlangt.
m.try_lock_shared() Versucht, eine Sperre für die aktuelle Ausführungsumgebung (Thread, Prozess, Task) zu erhalten, ohne zu blockieren. Wenn eine Ausnahme ausgelöst wird, wird keine Sperre erlangt. true, wenn die Sperre erlangt wurde, false andernfalls.
m.unlock_shared() Die aktuelle Ausführungsumgebung hält eine geteilte Sperre für m. Gibt die von der Ausführungsumgebung gehaltene geteilte Sperre frei.

Löst keine Ausnahmen aus.

[bearbeiten] Geteilte Sperren

Eine Sperre für ein Objekt wird als geteilte Sperre bezeichnet, wenn sie durch einen Aufruf der Member-Funktionen lock_shared, try_lock_shared, try_lock_shared_for oder try_lock_shared_until erworben wird.

[bearbeiten] Standardbibliothek

Die folgenden Standardbibliothekstypen erfüllen die SharedLockable Anforderungen:

bietet gemeinsame Gegenseitiger-Ausschluss-Funktionen
(Klasse) [bearbeiten]
bietet gemeinsame Gegenseitiger-Ausschluss-Funktionen und implementiert ein Sperren mit Timeout
(Klasse) [bearbeiten]

[bearbeiten] Siehe auch