Namespaces
Variants

std::experimental::barrier:: arrive_and_wait

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

Les blocs arrivent au point de synchronisation de la barrière.

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_wait se synchronisent avec le début de la phase de complétion de la barrière. 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.

Notes

Il est sûr pour un thread d'appeler soit arrive_and_wait() soit arrive_and_drop() immédiatement après le retour de cet appel. Il n'est pas nécessaire de s'assurer que tous les threads bloqués ont quitté arrive_and_wait() avant qu'un thread ne l'appelle à nouveau.

L'ensemble des threads participants pour une barrier construite pour num_threads threads correspond aux premiers num_threads threads à atteindre son point de synchronisation. Cet ensemble ne change pas d'un cycle à l'autre, sauf pour les threads retirés de l'ensemble en raison d'appels à arrive_and_drop() .

Exceptions

Ne lance rien.

Voir aussi

arrive au point de synchronisation et retire le thread actuel de l'ensemble des threads participants
(fonction membre publique)