std::experimental::barrier::arrive_and_drop
来自 cppreference.cn
< cpp | experimental | barrier
void arrive_and_drop(); |
(concurrency TS) | |
抵达屏障的同步点,并将当前线程从参与线程集中移除。 此函数是否阻塞直至完成阶段结束是未指明的。
如果调用线程不在本屏障的参与线程集中,则行为未定义。
对 arrive_and_drop
的调用与屏障的完成阶段的开始同步。 如果调用阻塞,则完成阶段的完成与从调用返回同步。
对 arrive_and_drop
和 arrive_and_wait
的调用绝不会彼此或相互引入数据竞争。
[编辑] 异常
不抛出任何异常。
[编辑] 注释
如果每个参与线程都调用 arrive_and_drop()
,则屏障只能被销毁。
线程在屏障上调用 arrive_and_drop()
后,它不再是其参与线程集的成员,因此不能再在同一屏障上调用 arrive_and_drop()
或 arrive_and_wait()
。
[编辑] 参见
抵达同步点并阻塞 (公共成员函数) |