Partager via


parallel_invoke, fonction

Exécute les objets de fonction fournis comme paramètres en parallèle et se bloque jusqu'à la fin de leur exécution.Chaque objet de fonction peut être une expression lambda, un pointeur vers une fonction ou tout objet qui prend en charge l'opérateur d'appel de fonction avec la signature void operator()().

template <
   typename _Function1,
   typename _Function2
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4,
   typename _Function5
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4,
   const _Function5& _Func5
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4,
   typename _Function5,
   typename _Function6
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4,
   const _Function5& _Func5,
   const _Function6& _Func6
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4,
   typename _Function5,
   typename _Function6,
   typename _Function7
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4,
   const _Function5& _Func5,
   const _Function6& _Func6,
   const _Function7& _Func7
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4,
   typename _Function5,
   typename _Function6,
   typename _Function7,
   typename _Function8
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4,
   const _Function5& _Func5,
   const _Function6& _Func6,
   const _Function7& _Func7,
   const _Function8& _Func8
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4,
   typename _Function5,
   typename _Function6,
   typename _Function7,
   typename _Function8,
   typename _Function9
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4,
   const _Function5& _Func5,
   const _Function6& _Func6,
   const _Function7& _Func7,
   const _Function8& _Func8,
   const _Function9& _Func9
);

template <
   typename _Function1,
   typename _Function2,
   typename _Function3,
   typename _Function4,
   typename _Function5,
   typename _Function6,
   typename _Function7,
   typename _Function8,
   typename _Function9,
   typename _Function10
>
void parallel_invoke(
   const _Function1& _Func1,
   const _Function2& _Func2,
   const _Function3& _Func3,
   const _Function4& _Func4,
   const _Function5& _Func5,
   const _Function6& _Func6,
   const _Function7& _Func7,
   const _Function8& _Func8,
   const _Function9& _Func9,
   const _Function10& _Func10
);

Paramètres

  • _Function1
    Type du premier objet de fonction à exécuter en parallèle.

  • _Function2
    Type du deuxième objet de fonction à exécuter en parallèle.

  • _Function3
    Type du troisième objet de fonction à exécuter en parallèle.

  • _Function4
    Le type du quatrième objet de fonction à exécuter en parallèle.

  • _Function5
    Type du cinquième objet de fonction à exécuter en parallèle.

  • _Function6
    Type du sixième objet de fonction à exécuter en parallèle.

  • _Function7
    Type du septième objet de fonction à exécuter en parallèle.

  • _Function8
    Type du huitième objet de fonction à exécuter en parallèle.

  • _Function9
    Type du neuvième objet de fonction à exécuter en parallèle.

  • _Function10
    Type du dixième objet de fonction à exécuter en parallèle.

  • _Func1
    Premier objet de fonction à exécuter en parallèle.

  • _Func2
    Deuxième objet de fonction à exécuter en parallèle.

  • _Func3
    Troisième objet de fonction à exécuter en parallèle.

  • _Func4
    Quatrième objet de fonction à exécuter en parallèle.

  • _Func5
    Cinquième objet de fonction à exécuter en parallèle.

  • _Func6
    Sixième objet de fonction à exécuter en parallèle.

  • _Func7
    Septième objet de fonction à exécuter en parallèle.

  • _Func8
    Huitième objet de fonction à exécuter en parallèle.

  • _Func9
    Neuvième objet de fonction à exécuter en parallèle.

  • _Func10
    Dixième objet de fonction à exécuter en parallèle.

Notes

Notez qu'un ou plusieurs des objets de fonction fournis comme paramètres peuvent s'exécuter inline dans le contexte d'appel.

Si un ou plusieurs des objets de fonction passés comme paramètres à cette fonction lèvent une exception, le runtime choisira une exception de ce type et la propagera hors de l'appel à parallel_invoke.

Pour plus d'informations, consultez Algorithmes parallèles.

Configuration requise

En-tête : ppl.h

Accès concurrentiel del'espace de noms :

Voir aussi

Référence

concurrency, espace de noms