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