Namespaces
Variants

std::experimental::flex_barrier:: flex_barrier

From cppreference.net
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) Hat denselben Effekt wie flex_barrier ( num_threads, c ) , wobei c ein Callable -Objekt ist, dessen Aufruf -1 zurückgibt und keine Nebeneffekte hat.
2) Konstruiert eine flex_barrier für num_threads teilnehmende Threads, wobei completion für die Abschlussphase verwendet wird. Die Gruppe der teilnehmenden Threads besteht aus den ersten num_threads Threads, die den Synchronisationspunkt erreichen.
3) Copy-Konstruktor ist gelöscht; flex_barrier ist nicht kopierbar.

Parameter

num_threads - die Anzahl der teilnehmenden Threads für die flex_barrier ; muss nicht-negativ sein
completion - ein Funktionsobjekt, das die Abschlussphase steuert; muss Callable ohne Argumente mit Rückgabetyp std::ptrdiff_t sein und bei Aufruf einen Wert nicht kleiner als -1 zurückgeben und keine Ausnahme werfen
Typanforderungen
-
F muss die Anforderungen von CopyConstructible erfüllen.

Hinweise

Wenn num_threads null ist, ist die Menge der teilnehmenden Threads leer, und die flex_barrier kann nur zerstört werden.