Namespaces
Variants

std::experimental::barrier:: arrive_and_wait

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

Blöcke erreichen den Synchronisationspunkt der Barriere.

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

Aufrufe von arrive_and_wait synchronisieren mit dem Beginn der Abschlussphase der Barriere. Der Abschluss der Abschlussphase synchronisiert 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.

Hinweise

Es ist für einen Thread sicher, unmittelbar nach der Rückkehr dieses Aufrufs entweder arrive_and_wait() oder arrive_and_drop() aufzurufen. Es ist nicht erforderlich sicherzustellen, dass alle blockierten Threads arrive_and_wait() verlassen haben, bevor ein Thread es erneut aufruft.

Die Menge der teilnehmenden Threads für eine barrier , die für num_threads Threads konstruiert wurde, sind die ersten num_threads Threads, die ihren Synchronisationspunkt erreichen. Diese Menge ändert sich von Zyklus zu Zyklus nicht, außer für Threads, die aufgrund von arrive_and_drop() -Aufrufen aus der Menge entfernt werden.

Ausnahmen

Wirft nichts.

Siehe auch

Erreicht den Synchronisationspunkt und entfernt den aktuellen Thread aus dem Satz der teilnehmenden Threads
(Öffentliche Mitgliedsfunktion)