命名空间
变体
操作

std::experimental::barrier::arrive_and_drop

来自 cppreference.cn
void arrive_and_drop();
(concurrency TS)

抵达屏障的同步点,并将当前线程从参与线程集中移除。 此函数是否阻塞直至完成阶段结束是未指明的。

如果调用线程不在本屏障的参与线程集中,则行为未定义。

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

arrive_and_droparrive_and_wait 的调用绝不会彼此或相互引入数据竞争。

[编辑] 异常

不抛出任何异常。

[编辑] 注释

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

线程在屏障上调用 arrive_and_drop() 后,它不再是其参与线程集的成员,因此不能再在同一屏障上调用 arrive_and_drop()arrive_and_wait()

[编辑] 参见

抵达同步点并阻塞
(公共成员函数) [编辑]