Blocks and arrive at the barrier's synchronization point.
The behavior is undefined if the calling thread is not in the set of participating threads of this barrier.
arrive_and_wait synchronizes with the start of the completion phase of the barrier. The completion of the completion phase synchronizes with the return from the call.
arrive_and_wait never introduce data races with themselves or each other.
It is safe for a thread to call either
arrive_and_drop() immediately on return from this call. It's not necessary to ensure that all blocked threads have exited
arrive_and_wait() before a thread calls it again.
The set of participating threads for a
barrier constructed for
num_threads threads is the first
num_threads to arrive at its synchronization point. This set does not change from cycle to cycle, except for threads removed from the set due to
 See also
| arrive at the synchronization point and remove the current thread from the set of participating threads |
(public member function)