Compartilhar via


método de structured_task_group::run_and_wait

Agenda uma tarefa para ser executado embutido no contexto de chamada com o auxílio do structured_task_group objeto para suporte ao cancelamento completo.Se um task_handle objeto é passado como um parâmetro para run_and_wait, o chamador é responsável por gerenciar a vida útil do task_handle objeto.A função aguarda até que todos funcionem na structured_task_group objeto concluída ou 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
    O tipo de objeto de função que será chamado para executar a tarefa.

  • _Task_handle
    Um identificador para a tarefa que será executada embutido no contexto de chamada.Observe que o chamador tem responsabilidade pela vida útil desse objeto.O tempo de execução continuará esperava live até o run_and_wait método Finaliza a execução.

  • _Func
    Uma função que será chamada para invocar o corpo do trabalho.Isso pode ser um lambda ou outro objeto que oferece suporte a uma versão do operador de chamada de função com a assinatura void operator()().

Valor de retorno

Uma indicação de se a espera foi atendida ou o grupo de tarefas foi cancelado, devido a uma operação de cancelamento explícita ou uma exceção sendo lançada uma das suas tarefas.Para obter mais informações, consulte task_group_status

Comentários

Observe que uma ou mais tarefas agendadas para este structured_task_group objeto pode executar embutido no contexto de chamada.

Se um ou mais das tarefas agendadas para este structured_task_group objeto lança uma exceção, o runtime irá selecionar tal exceção de sua escolha e propagar-out da chamada para o run_and_wait método.

Após essa função retorna, o structured_task_group objeto é considerado no estado final e não deve ser usado.Observe que uso após a run_and_wait método retorna resultará em um comportamento indefinido.

No caminho de execução não excepcional, você tem um mandato para chamar esse método tanto ou o wait método antes o destruidor do structured_task_group executa.

Requisitos

Cabeçalho: ppl.h

Namespace: concorrência

Consulte também

Referência

classe de structured_task_group

método de structured_task_group::run

método de structured_task_group::wait

Conceitos

Paralelismo de tarefa (tempo de execução de simultaneidade)