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 task_group para una compatibilidad de cancelación completa. Después, la función espera hasta que todo el trabajo en el objeto task_group se haya completado o cancelado. 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.
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 del objeto de función que se invocará para ejecutar el cuerpo del identificador de tareas._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 task_group se pueden ejecutar alineadas en el contexto de la llamada.
Si una o más de las tareas programadas en el objeto 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.
En caso del valor devuelto del método run_and_wait en un objeto task_group, el runtime restablece el objeto a un estado limpio donde se puede volver a utilizar. Esto incluye el caso donde se canceló el objeto task_group.
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 task_group se ejecute.
Requisitos
Encabezado: ppl.h
Espacio de nombres: Simultaneidad