Compartir a través de


parallel_invoke (Función)

Ejecuta los objetos de función proporcionados como parámetros en paralelo y se bloquea hasta que hayan terminado de ejecutarse. Cada objeto de función puede ser una expresión lambda, un puntero a una función o cualquier otro objeto que admita una versión del operador de llamada de función con la firma 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
);

Parámetros

  • _Function1
    El tipo del primer objeto de función que se va a ejecutar en paralelo.

  • _Function2
    El tipo del segundo objeto de función que se va a ejecutar en paralelo.

  • _Function3
    El tipo del tercer objeto de función que se va a ejecutar en paralelo.

  • _Function4
    El tipo del cuarto objeto de función que se va a ejecutar en paralelo.

  • _Function5
    El tipo del quinto objeto de función que se va a ejecutar en paralelo.

  • _Function6
    El tipo del sexto objeto de función que se va a ejecutar en paralelo.

  • _Function7
    El tipo del séptimo objeto de función que se va a ejecutar en paralelo.

  • _Function8
    El tipo del octavo objeto de función que se va a ejecutar en paralelo.

  • _Function9
    El tipo del noveno objeto de función que se va a ejecutar en paralelo.

  • _Function10
    El tipo del décimo objeto de función que se va a ejecutar en paralelo.

  • _Func1
    El primer objeto de función que se va a ejecutar en paralelo.

  • _Func2
    El segundo objeto de función que se va a ejecutar en paralelo.

  • _Func3
    El tercer objeto de función que se va a ejecutar en paralelo.

  • _Func4
    El cuarto objeto de función que se va a ejecutar en paralelo.

  • _Func5
    El quinto objeto de función que se va a ejecutar en paralelo.

  • _Func6
    El sexto objeto de función que se va a ejecutar en paralelo.

  • _Func7
    El séptimo objeto de función que se va a ejecutar en paralelo.

  • _Func8
    El octavo objeto de función que se va a ejecutar en paralelo.

  • _Func9
    El noveno objeto de función que se va a ejecutar en paralelo.

  • _Func10
    El décimo objeto de función que se va a ejecutar en paralelo.

Comentarios

Observe que uno o más de los objetos de función proporcionados como parámetros se pueden ejecutar alineados en el contexto de la llamada.

Si uno o más objetos de función pasados como parámetros a esta función produce una excepción, el runtime seleccionará una de las excepciones y la propagará fuera de la llamada al método parallel_invoke.

Para obtener más información, vea Algoritmos paralelos.

Requisitos

Encabezado: ppl.h

Espacio de nombres: Simultaneidad

Vea también

Referencia

Espacio de nombres de simultaneidad