std:: condition_variable_any
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<condition_variable>
|
||
|
class
condition_variable_any
;
|
(seit C++11) | |
Die
condition_variable_any
-Klasse ist eine Verallgemeinerung von
std::condition_variable
. Während
std::condition_variable
nur mit
std::
unique_lock
<
std::
mutex
>
funktioniert, kann
condition_variable_any
mit jeder Sperre arbeiten, die die
BasicLockable
-Anforderungen erfüllt.
Siehe std::condition_variable für die Beschreibung der Semantik von Condition Variables.
Die Klasse
std::condition_variable_any
ist ein
StandardLayoutType
. Sie ist nicht
CopyConstructible
,
MoveConstructible
,
CopyAssignable
oder
MoveAssignable
.
Wenn die Sperre ein std:: unique_lock < std:: mutex > ist, kann std::condition_variable eine bessere Leistung bieten.
Inhaltsverzeichnis |
Memberfunktionen
|
konstruiert das Objekt
(public member function) |
|
|
zerstört das Objekt
(public member function) |
|
|
operator=
[deleted]
|
nicht kopierbar zuweisbar
(public member function) |
Benachrichtigung |
|
|
benachrichtigt einen wartenden Thread
(public member function) |
|
|
benachrichtigt alle wartenden Threads
(public member function) |
|
Warten |
|
|
blockiert den aktuellen Thread, bis die Condition Variable aufgeweckt wird
(public member function) |
|
|
blockiert den aktuellen Thread, bis die Condition Variable aufgeweckt wird oder nach Ablauf der angegebenen Timeout-Dauer
(public member function) |
|
|
blockiert den aktuellen Thread, bis die Condition Variable aufgeweckt wird oder bis der angegebene Zeitpunkt erreicht wurde
(public member function) |
|
Hinweise
std::condition_variable_any
kann mit
std::shared_lock
verwendet werden, um auf ein
std::shared_mutex
im Shared-Ownership-Modus zu warten.
Eine mögliche Verwendung für
std::condition_variable_any
mit benutzerdefinierten
Lockable
Typen ist die Bereitstellung von bequemen unterbrechbaren Warteoperationen: Der benutzerdefinierte Sperrvorgang würde sowohl den zugehörigen Mutex wie erwartet sperren als auch die notwendige Einrichtung durchführen, um diese Bedingungsvariable zu benachrichtigen, wenn das unterbrechende Signal empfangen wird.
[1]
Siehe auch
|
(C++11)
|
stellt eine Bedingungsvariable bereit, die mit einem
std::unique_lock
assoziiert ist
(Klasse) |
Externe Links
|