Udostępnij za pośrednictwem


Funkcja parallel_invoke

Wykonuje obiektów funkcji dostarczanych jako parametry w równolegle i bloki aż zakończeniu ich wykonywanie.Każdy obiekt funkcji może być wyrażenie lambda, wskaźnik do funkcji lub dowolnego obiektu, który obsługuje operator wywołania funkcji z podpisem 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
);

Parametry

  • _Function1
    Typ pierwszy obiekt funkcji, aby być wykonywane jednocześnie.

  • _Function2
    Typ drugi obiekt funkcji, aby być wykonywane jednocześnie.

  • _Function3
    Typ trzeciego obiektu funkcji mają być wykonane równolegle.

  • _Function4
    Typ czwarty obiekt funkcji wykonywane jednocześnie.

  • _Function5
    Typ piąty obiekt funkcji wykonywane jednocześnie.

  • _Function6
    Typ szósty obiekt funkcji wykonywane jednocześnie.

  • _Function7
    Typ siódmego obiekt funkcji wykonywane jednocześnie.

  • _Function8
    Typ ósmy obiekt funkcji wykonywane jednocześnie.

  • _Function9
    Typ dziewiąty obiekt funkcji wykonywane jednocześnie.

  • _Function10
    Typ dziesiąty obiekt funkcji wykonywane jednocześnie.

  • _Func1
    Pierwszy obiekt funkcji, aby być wykonywane jednocześnie.

  • _Func2
    Drugi obiekt funkcji mają być wykonane równolegle.

  • _Func3
    Obiekt funkcji trzeciego mają być wykonane równolegle.

  • _Func4
    Czwarty obiekt funkcji mają być wykonane równolegle.

  • _Func5
    Piąty obiekt funkcji mają być wykonane równolegle.

  • _Func6
    Szósty obiekt funkcji mają być wykonane równolegle.

  • _Func7
    Siódmy obiekt funkcji mają być wykonane równolegle.

  • _Func8
    Ósmy obiekt funkcji mają być wykonane równolegle.

  • _Func9
    Dziewiąty obiekt funkcji mają być wykonane równolegle.

  • _Func10
    Dziesiąty obiekt funkcji mają być wykonane równolegle.

Uwagi

Należy zwrócić uwagę na jeden lub więcej obiektów funkcji dostarczonych parametrów może wykonać wbudowanej w kontekście wywołującego.

Jeśli jeden lub więcej obiektów funkcji przekazane jako parametry do tej funkcji zgłasza wyjątek, środowiska wykonawczego będzie zaznacz jeden taki wyjątek jego wybór i propagowanie go z wywołanie parallel_invoke.

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