Compartilhar via


Método structured_task_group::run

Agenda uma tarefa no objeto de structured_task_group . O chamador gerencia o tempo de vida do objeto de task_handle passado para o parâmetro de _Task_handle . A versão que usa o parâmetro _Placement faz a tarefa ser removido para executar no local especificado pelo parâmetro.

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle
);

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle,
   location& _Placement
);

Parâmetros

  • _Function
    O tipo de objeto de função que será invocado para executar o corpo do identificador da tarefa.

  • _Task_handle
    Um identificador para o trabalho que está sendo agendada. Observe que o chamador tem responsabilidade do tempo de vida deste objeto. O tempo de execução continuará a esperar que a viver até wait ou o método de run_and_wait esteve chamado este objeto de structured_task_group .

  • _Placement
    Uma referência ao local em que a tarefa representada pelo parâmetro de _Task_handle deve executar.

Comentários

O tempo de execução cria uma cópia da função de trabalho que você passa a este método. Nenhuma alteração de estado que ocorrem em um objeto de função que você transmita a esse método não aparecerão em sua cópia do objeto de função.

Se os destructs de structured_task_group como o resultado da pilha que desenrola de uma exceção, você não precisa garantir que uma chamada esteve fazer a wait o método ou de run_and_wait . Nesse caso, o destruidor adequadamente e cancelará aguardará a tarefa representada pelo parâmetro de _Task_handle para concluir.

Gerencie uma exceção de invalid_multiple_scheduling se o identificador da tarefa determinada pelo parâmetro de _Task_handle já tiver sido agendada em um objeto de grupo de trabalho através do método de run e não houve chamada de intervenção a wait o método ou de run_and_wait nesse grupo de trabalho.

Requisitos

Cabeçalho: ppl.h

Namespace: simultaneidade

Consulte também

Referência

Classe structured_task_group

Método structured_task_group::wait

Método structured_task_group::run_and_wait

Classe location

Conceitos

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