std::experimental::barrier::arrive_and_drop
来自 cppreference.cn
< cpp | experimental | barrier
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()
。
[编辑] 另请参见
到达同步点并阻塞 (公有成员函数) |