Condividi tramite


Funzione parallel_for

parallel_for scorre un intervallo di indici ed esegue una funzione fornita dall'utente a ogni iterazione, in parallelo.

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
);

Parametri

  • _Index_type
    Tipi dell'indice utilizzato per l'iterazione.

  • _Function
    Tipo della funzione che sarà eseguito a ogni iterazione.

  • _Partitioner
    Tipo del partitioner che viene utilizzato per suddividere l'intervallo specificato.

  • _First
    Primo indice da includere nell'iterazione.

  • _Last
    Indice successivo all'ultimo da includere nell'iterazione.

  • _Step
    Valore in base al quale procedere quando si esegue l'iterazione da _First a _Last. Il passaggio deve essere positivo. invalid_argument viene generato se il passaggio è minore di 1.

  • _Func
    Funzione da eseguire a ogni iterazione. Potrebbe essere un'espressione lambda, un puntatore a funzione o un qualsiasi oggetto che supporti una versione dell'operatore di chiamata di funzione con la firma void operator()(_Index_type**)**.

  • _Part
    Riferimento all'oggetto partitioner. L'argomento può essere constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& o affinity_partitioner& Se viene utilizzato un oggetto affinity_partitioner, il riferimento deve essere un riferimento non const l-value, così l'algoritmo può archiviare lo stato per i cicli futuri per riutilizzarlo.

Note

Per ulteriori informazioni, vedere Algoritmi paralleli.

Requisiti

Header: ppl.h

Spazio dei nomi: concorrenza

Vedere anche

Riferimenti

Spazio dei nomi concurrency