std::experimental::barrier:: arrive_and_drop
From cppreference.net
<
cpp
|
experimental
|
barrier
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Extensions for concurrency
| std::future extensions | ||||
| Latches and barriers | ||||
| Atomic smart pointers | ||||
std::experimental::barrier
|
barrier::arrive_and_drop
|
|
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()
。
参见
|
抵达同步点并阻塞
(公开成员函数) |