Namespaces
Variants

std::experimental::barrier:: arrive_and_wait

From cppreference.net
void arrive_and_wait ( ) ;
(并发技术规范)

线程块到达屏障的同步点。

若调用线程不在此屏障的参与线程集合中,则行为未定义。

arrive_and_wait 的调用与屏障完成阶段的开始同步。完成阶段的结束与该调用返回同步。

arrive_and_drop arrive_and_wait 的调用永远不会与它们自身或彼此之间引入数据竞争。

注释

线程在从该调用返回后立即调用 arrive_and_wait() arrive_and_drop() 是安全的。无需确保所有被阻塞的线程都已退出 arrive_and_wait() ,线程即可再次调用它。

num_threads 个线程构造的 barrier 的参与线程集合,是最先到达其同步点的前 num_threads 个线程。该集合在周期之间不会发生变化,除非线程因 arrive_and_drop() 调用而被移出集合。

异常

不抛出任何异常。

参见

抵达同步点并从参与线程集中移除当前线程
(公开成员函数)