std::experimental::barrier::arrive_and_wait
来自cppreference.com
< cpp | experimental | barrier
| void arrive_and_wait(); |
(并发 TS) | |
阻塞并到达屏障的同步点。
若调用方线程不在此 barrier 的参与线程集中,则行为未定义。
对 arrive_and_wait 的调用同步于 barrier 的完成阶段的开始。完成阶段的完成同步于从调用返回。
对 arrive_and_drop 和 arrive_and_wait 的调用决不引入与其自身或与彼此间的数据竞争。
注意
线程立即在从此调用返回时,调用 arrive_and_wait() 或 arrive_and_drop() 是安全的。不需要确保在一个线程再次调用它时,所有线程都已退出 arrive_and_wait() 。
为 num_threads 个线程构造的 barrier 的参与线程集是首 num_threads 个到达其同步点的线程。此集合不在循环间更改,除非线程由于 arrive_and_drop() 调用被移除出集合。
异常
不抛出异常。
参阅
| 到达同步点,并从参与线程集中移除当前线程 (公开成员函数) |