std::barrier<CompletionFunction>:: arrive_and_wait
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
barrier::arrive_and_wait
|
||||
| Constants | ||||
|
void
arrive_and_wait
(
)
;
|
(seit C++20) | |
Dekrementiert atomar den erwarteten Zählerstand um 1 und blockiert dann am Synchronisationspunkt für die aktuelle Phase, bis der Phasenabschlussschritt der aktuellen Phase ausgeführt wird. Entspricht wait ( arrive ( ) ) ; .
Das Verhalten ist undefiniert, wenn die erwartete Anzahl für die aktuelle Phase null ist.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
(keine)
Ausnahmen
Wirft std::system_error mit einem für Mutex-Typen zulässigen Fehlercode bei Fehler.
Hinweise
Wenn der aktuelle erwartete Zählerstand im Aufruf dieser Funktion auf Null dekrementiert wird, wird der Phasenabschluss-Schritt ausgeführt und diese Funktion blockiert nicht.
Wenn der aktuelle erwartete Zählerstand vor dem Aufruf dieser Funktion null ist, ist der anfängliche erwartete Zählerstand für alle nachfolgenden Phasen ebenfalls null, was bedeutet, dass die
barrier
nicht wiederverwendet werden kann.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |