Namespaces
Variants

std::barrier<CompletionFunction>:: arrive_and_drop

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
void arrive_and_drop ( ) ;
(seit C++20)

Verringert den anfänglich erwarteten Zählerstand für alle nachfolgenden Phasen um eins und verringert dann den erwarteten Zählerstand für die aktuelle Phase um eins.

Diese Funktion wird atomar ausgeführt. Der Aufruf dieser Funktion strongly happens-before dem Beginn des Phasenabschluss-Schritts für die aktuelle Phase.

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

Diese Funktion kann dazu führen, dass der Abschlussschritt für die aktuelle Phase beginnt.

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