Namespaces
Variants

std::experimental::barrier:: arrive_and_drop

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

到达屏障的同步点并从参与线程集合中移除当前线程。此函数是否阻塞直至完成阶段结束由实现定义。

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

arrive_and_drop 的调用与屏障完成阶段的开始同步。如果该调用发生阻塞,则完成阶段的结束与从该调用返回同步。

arrive_and_drop arrive_and_wait 的调用永远不会在它们自身之间或相互之间引入数据竞争。

异常

不抛出任何异常。

注释

如果每个参与线程都调用 arrive_and_drop() ,该屏障只能被销毁。

当线程在屏障上调用 arrive_and_drop() 后,该线程将不再是其参与线程集合的成员,因此无法再对同一屏障调用 arrive_and_drop() arrive_and_wait()

参见

抵达同步点并阻塞
(公开成员函数)