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)
A le même effet que
flex_barrier
(
num_threads, c
)
, où
c
est un objet
Callable
dont l'invocation retourne -1 et n'a pas d'effets secondaires.
2)
Construit une
flex_barrier
pour
num_threads
threads participants, en utilisant
completion
pour la phase de finalisation. L'ensemble des threads participants correspond aux premiers
num_threads
threads à atteindre le point de synchronisation.
3)
Le constructeur de copie est supprimé ;
flex_barrier
n'est pas copiable.
Paramètres
| num_threads | - |
le nombre de threads participants pour la
flex_barrier
; doit être non négatif
|
| completion | - | un objet fonction contrôlant la phase de complétion ; doit être Callable sans arguments et avec un type de retour std::ptrdiff_t , et lorsqu'il est invoqué, doit retourner une valeur non inférieure à -1 et ne doit pas lever d'exception |
| Exigences de type | ||
-
F
doit satisfaire aux exigences de
CopyConstructible
.
|
||
Notes
Si num_threads est zéro, l'ensemble des threads participants est vide, et flex_barrier ne peut être que détruit.