parallel_invoke-Funktion

Führt die als Parameter angegebenen Funktionsobjekte parallel aus, und blockiert, bis die Ausführung beendet ist. Jedes Funktionsobjekt kann ein Lambda-Ausdruck, ein Zeiger auf eine Funktion oder ein anderes Objekt sein, das den Funktionsaufrufoperator mit der Signatur void operator()() unterstützt.

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

Parameter

  • _Function1
    Der Typ des ersten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function2
    Der Typ des zweiten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function3
    Der Typ des dritten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function4
    Der Typ des vierten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function5
    Der Typ des fünften Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function6
    Der Typ des sechsten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function7
    Der Typ des siebenten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function8
    Der Typ des achten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function9
    Der Typ des neunten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Function10
    Der Typ des zehnten Funktionsobjekts, das parallel ausgeführt werden soll.

  • _Func1
    Das erste Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func2
    Das zweite Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func3
    Das dritte Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func4
    Das vierte Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func5
    Das fünfte Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func6
    Das sechste Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func7
    Das siebte Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func8
    Das achte Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func9
    Das neunte Funktionsobjekt, das parallel ausgeführt werden soll.

  • _Func10
    Das zehnte Funktionsobjekt, das parallel ausgeführt werden soll.

Hinweise

Beachten Sie, dass ein oder mehrere als Parameter bereitgestellte Funktionsobjekte möglicherweise inline auf dem aufrufenden Kontext ausgeführt werden.

Wenn eines oder mehrere der Funktionsobjekte, die als Parameter an diese Funktion übergeben wurden, eine Ausnahme auslösen, wählt die Laufzeit nach eigenem Ermessen eine dieser Ausnahmen aus und gibt sie aus dem Aufruf an parallel_invoke weiter.

Weitere Informationen finden Sie unter Parallele Algorithmen.

Anforderungen

Header: ppl.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace