std::experimental::flex_barrier:: arrive_and_drop
|
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) |