std::experimental::flex_barrier:: flex_barrier
From cppreference.net
<
cpp
|
experimental
|
flex barrier
|
explicit
flex_barrier
(
std::
ptrdiff_t
num_threads
)
;
|
(1) | (concurrency TS) |
|
template
<
class
F
>
flex_barrier ( std:: ptrdiff_t num_threads, F completion ) ; |
(2) | (concurrency TS) |
|
flex_barrier
(
const
flex_barrier
&
)
=
delete
;
|
(3) | (concurrency TS) |
1)
Tiene el mismo efecto que
flex_barrier
(
num_threads, c
)
, donde
c
es un objeto
Callable
cuya invocación retorna -1 y no tiene efectos secundarios.
2)
Construye un
flex_barrier
para
num_threads
hilos participantes, utilizando
completion
para la fase de finalización. El conjunto de hilos participantes son los primeros
num_threads
hilos en llegar al punto de sincronización.
3)
El constructor de copia está eliminado;
flex_barrier
no es copiable.
Parámetros
| num_threads | - |
el número de hilos participantes para el
flex_barrier
; debe ser no negativo
|
| completion | - | un objeto función que controla la fase de finalización; debe ser Callable sin argumentos y con tipo de retorno std::ptrdiff_t , y cuando se invoca, debe retornar un valor no menor que -1 y no debe lanzar una excepción |
| Requisitos de tipo | ||
-
F
debe cumplir con los requisitos de
CopyConstructible
.
|
||
Notas
Si num_threads es cero, el conjunto de hilos participantes está vacío, y flex_barrier solo puede ser destruido.