Namespaces
Variants

std::experimental::barrier:: arrive_and_drop

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

Erreichen Sie den Synchronisationspunkt der Barriere und entfernen Sie den aktuellen Thread aus der Gruppe der teilnehmenden Threads. Es ist nicht spezifiziert, ob diese Funktion blockiert, bis die Abschlussphase beendet ist.

Das Verhalten ist undefiniert, wenn der aufrufende Thread nicht in der Menge der teilnehmenden Threads dieser Barriere enthalten ist.

Aufrufe von arrive_and_drop synchronisieren mit dem Beginn der Abschlussphase der Barriere. Falls der Aufruf blockiert, dann synchronisiert der Abschluss der Abschlussphase mit der Rückkehr vom Aufruf.

Aufrufe von arrive_and_drop und arrive_and_wait führen niemals Datenrennen mit sich selbst oder untereinander ein.

Ausnahmen

Wirft nichts.

Hinweise

Wenn jeder teilnehmende Thread arrive_and_drop() aufruft, kann die Barriere nur zerstört werden.

Nachdem ein Thread arrive_and_drop() auf eine Barriere aufgerufen hat, ist er kein Mitglied mehr seiner Gruppe teilnehmender Threads und kann daher weder arrive_and_drop() noch arrive_and_wait() auf derselben Barriere aufrufen.

Siehe auch

Am Synchronisationspunkt ankommen und blockieren
(Öffentliche Mitgliedsfunktion)