Udostępnij za pośrednictwem


Funkcja parallel_for

parallel_forwykonuje iterację przez szereg wskaźników i wykonuje funkcję dostarczone przez użytkownika w każdej iteracji równolegle.

template <
   typename _Index_type,
   typename _Function,
   typename _Partitioner
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   _Index_type_Step,
   const _Function& _Func,
   _Partitioner&& _Part
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   _Index_type_Step,
   const _Function& _Func
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   const auto_partitioner& _Part = auto_partitioner()
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   const static_partitioner& _Part
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   const simple_partitioner& _Part
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   affinity_partitioner& _Part
);

Parametry

  • _Index_type
    Typ indeksu, używany dla iteracji.

  • _Function
    Typ funkcji, która zostanie wykonana w każdej iteracji.

  • _Partitioner
    Typ używanego do partycji podany zakres go.

  • _First
    Indeks pierwszego mają zostać uwzględnione w iteracji.

  • _Last
    Indeks jeden ostatniego indeksu mają zostać uwzględnione w iteracji w przeszłości.

  • _Step
    Wartość, według której krok podczas iteracji z _First do _Last.Krok musi być dodatnia.invalid_argument jest generowany, jeśli czynnością jest mniejsza niż 1.

  • _Func
    Funkcja wykonywane po każdej iteracji.Może to być wyrażenie lambda, wskaźnik funkcji, lub dowolny obiekt, obsługującego wersją operator wywołania funkcji z podpisem void operator()(_Index_type**)**.

  • _Part
    Odwołanie do obiektu go.Argument może być jednym z constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& lub affinity_partitioner& Jeśli affinity_partitioner obiekt jest używany, odniesienia muszą być odwołanie nie const l wartość, tak aby algorytm można przechowywać stan dla przyszłych pętli do ponownego wykorzystania.

Uwagi

Aby uzyskać więcej informacji, zobacz Algorytmy równoległe.

Wymagania

Nagłówek: ppl.h

Obszar nazw: współbieżności

Zobacz też

Informacje

Współbieżność obszaru nazw