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()。
[编辑] 另请参见
| 到达同步点并阻塞 (公有成员函数) |