Partilhar via


Método structured_task_group::run_and_wait

Agenda uma tarefa ser embutidos executado no contexto da chamada de com a ajuda do objeto de structured_task_group para suporte completo de cancelamento. Se um objeto de task_handle é passado como um parâmetro a run_and_wait, o chamador é responsável por gerenciar o tempo de vida do objeto de task_handle . A função em espera até que todo o trabalho no objeto de structured_task_group seja concluída ou cancele.

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á invocado para executar a tarefa.

  • _Task_handle
    Um identificador para a tarefa que será embutida executado no contexto de chamada. Observe que o chamador tem responsabilidade do tempo de vida deste objeto. O tempo de execução continuará a esperá-la viver até que o método de run_and_wait termine a execução.

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

Valor de retorno

Um valor que indica se a espera esteve satisfeito ou o grupo de trabalho esteve cancelado, devido a uma operação de cancelamento explícita ou uma exceção sendo gerado de uma de suas tarefas. Para obter mais informações, consulte task_group_status

Comentários

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

Se uma ou mais das tarefas agendadas para este objeto de structured_task_group lança uma exceção, o tempo de execução do selecionará uma dessas exceção de sua escolha e propagar-a-&z fora da chamada ao método de run_and_wait .

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

O caminho não excepcional de execução, você tem um autorizar para chamar este método ou o método de wait antes que o destruidor de structured_task_group seja executado.

Requisitos

Cabeçalho: ppl.h

Namespace: simultaneidade

Consulte também

Referência

Classe structured_task_group

Método structured_task_group::run

Método structured_task_group::wait

Conceitos

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