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