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 o objeto para o suporte a 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 espera até que todos funcionam 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 o corpo da alça de tarefa.

  • _Task_handle
    Um identificador para a tarefa que executará embutido no contexto de chamada. Observe que o chamador tem responsabilidade para a vida útil deste objeto. O tempo de execução continuará esperava viver até o run_and_wait método terminar 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 que informa se a espera foi atendida ou o grupo de tarefas foi cancelado, devido a uma operação de cancelamento explícita ou de uma exceção sendo lançada de uma das suas tarefas. Para obter mais informações, consulte task_group_status

Comentários

Observe que uma ou mais das 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 um tal exceção de sua escolha e propagá-la fora da chamada para o run_and_wait método.

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

No caminho de execução-excepcional, você tem uma norma para chamar esse método ambos ou o wait método antes do destruidor da structured_task_group executa.

Requisitos

Cabeçalho: PPL.h

Namespace: Simultaneidade

Consulte também

Referência

structured_task_group classe

Método de structured_task_group::Run

Método de structured_task_group::wait

Conceitos

Paralelismo de tarefas (Runtime de simultaneidade)