std::experimental::flex_barrier::flex_barrier
来自cppreference.com
< cpp | experimental | flex barrier
explicit
flex_barrier( std::ptrdiff_t
num_threads );
|
(1) | (并发 TS) |
template
<
class F
>
flex_barrier( std::ptrdiff_t num_threads, F completion ); |
(2) | (并发 TS) |
flex_barrier(
const
flex_barrier &
) =
delete;
|
(3) | (并发 TS) |
2) 为
num_threads
个参与线程构造 flex_barrier
,将 completion
用于完成阶段。参与线程集是首 num_threads
个到达同步点的线程。3) 复制构造函数被删除;
flex_barrier
不可复制。参数
num_threads | - | flex_barrier 的参与线程数;必须非负
|
completion | - | 控制完成阶段的函数对象;必须以无参数可调用 (Callable) 并拥有 std::ptrdiff_t 返回类型,调用时必须返回不小于 -1 的值且不抛出异常。 |
类型要求 | ||
-F
必须符合可复制构造
(CopyConstructible)
的要求。
|
注意
若 num_threads
为零,则参与线程集为空,而 flex_barrier
只能被销毁。