Namespaces
Variants

std::experimental::barrier:: arrive_and_drop

From cppreference.net
void arrive_and_drop ( ) ;
(TS de concurrence)

Arrive au point de synchronisation de la barrière et retire le thread actuel de l'ensemble des threads participants. Il n'est pas spécifié si cette fonction se bloque jusqu'à la fin de la phase de complétion.

Le comportement n'est pas défini si le thread appelant ne fait pas partie de l'ensemble des threads participants de cette barrière.

Les appels à arrive_and_drop se synchronisent avec le début de la phase de complétion de la barrière. Si l'appel se bloque, alors la fin de la phase de complétion se synchronise avec le retour de l'appel.

Les appels à arrive_and_drop et arrive_and_wait n'introduisent jamais de courses de données entre eux ou avec eux-mêmes.

Exceptions

Ne lance rien.

Notes

Si chaque thread participant appelle arrive_and_drop() , la barrière ne peut être que détruite.

Après qu'un thread appelle arrive_and_drop() sur une barrière, il n'est plus membre de son ensemble de threads participants et ne peut donc plus appeler ni arrive_and_drop() ni arrive_and_wait() sur la même barrière.

Voir aussi

arrive au point de synchronisation et se bloque
(fonction membre publique)