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 ( ) ;
(depuis C++20)

Décrémente le compte initial attendu pour toutes les phases suivantes de un, puis décrémente le compte attendu pour la phase actuelle de un.

Cette fonction est exécutée atomiquement. L'appel à cette fonction strongly happens-before le début de l'étape de finalisation de phase pour la phase actuelle.

Le comportement est indéfini si le compte attendu pour la phase actuelle est zéro.

Table des matières

Paramètres

(aucun)

Valeur de retour

(aucun)

Exceptions

Lance std::system_error avec un code d'erreur autorisé pour les types de mutex en cas d'erreur.

Notes

Cette fonction peut provoquer le démarrage de l'étape de finalisation pour la phase actuelle.

Si le compteur attendu actuel est zéro avant l'appel de cette fonction, le compteur attendu initial pour toutes les phases suivantes est également zéro, ce qui signifie que la barrier ne peut pas être réutilisée.

Exemple