Namespaces
Variants

std::experimental::flex_barrier:: arrive_and_drop

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

Arrive au point de synchronisation de la flex_barrier 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. Si la fonction se bloque, le thread appelant peut être choisi pour exécuter 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 flex_barrier .

Les appels à arrive_and_drop se synchronisent avec le début de la phase de complétion du flex_barrier . 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 aux données entre eux ou avec eux-mêmes.

Exceptions

Ne lance rien.

Notes

La phase de finalisation sera exécutée même si chaque thread participant appelle arrive_and_drop .

Après qu'un thread appelle arrive_and_drop sur une flex_barrier , il ne peut appeler aucune fonction membre sur cette barrière à l'exception du destructeur, même si la fonction objet invoquée par la phase de complétion retourne une valeur positive.

Voir aussi

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