Compartir a través de


structured_task_group::run_and_wait (Método)

Programa una tarea que se ejecuta alineada en el contexto de la llamada con la ayuda del objeto structured_task_group para una compatibilidad de cancelación completa.Si un objeto task_handle se pasa como un parámetro a run_and_wait, el llamador es responsable de administrar la duración del objeto task_handle.Después, la función espera hasta que todo el trabajo en el objeto structured_task_group se haya completado o cancelado.

template<
   class _Function
>
task_group_status run_and_wait(
   task_handle<_Function>& _Task_handle
);

template<
   class _Function
>
task_group_status run_and_wait(
   const _Function& _Func
);

Parámetros

  • _Function
    El tipo de objeto de la función que se invocará para ejecutar la tarea.

  • _Task_handle
    Un identificador de la tarea que se ejecutará alineado en el contexto de la llamada.Tenga en cuenta que el llamador tiene la responsabilidad de la duración de este objeto.El runtime continuará esperando que se encuentre activo hasta que el método run_and_wait finalice la ejecución.

  • _Func
    Una función a la que se llamará para invocar el cuerpo del trabajo.Éste puede ser una expresión lambda u otro objeto que admita una versión del operador de llamada de función con la firma void operator()().

Valor devuelto

Una indicación de si se cumple la espera o se canceló el grupo de tareas, debido a una operación de cancelación explícita o a una excepción que se ha producido desde una de sus tareas.Para obtener más información, vea task_group_status

Comentarios

Observe que una o más de las tareas programadas para este objeto structured_task_group se pueden ejecutar alineadas en el contexto de la llamada.

Si una o más de las tareas programadas en el objeto structured_task_group produce una excepción, el runtime seleccionará una de las excepciones y la propagará fuera de la llamada al método run_and_wait.

Después de esta función vuelve, el objeto de structured_task_group se ve en un estado final y no se debe utilizar.Observe que la utilización después de la vuelta del método run_and_wait puede dar como resultado un comportamiento indefinido.

En la ruta de acceso de ejecución no excepcional, tiene un mandato para llamar a este método o al método wait antes de que el destructor de structured_task_group se ejecute.

Requisitos

Encabezado: ppl.h

Simultaneidad deespacio de nombres:

Vea también

Referencia

structured_task_group (Clase)

structured_task_group::run (Método)

structured_task_group::wait (Método)

Conceptos

Paralelismo de tareas (Runtime de simultaneidad)