Classe de task_handle

O task_handle classe representa um item de trabalho paralelo individuais. Ele encapsula as instruções e os dados necessários para executar uma parte do trabalho.

template<
   typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;

Parâmetros

  • _Function
    O tipo de objeto de função que será chamado para executar o trabalho representado pela task_handle objeto.

Membros

Construtores públicos

Nome

Descrição

Construtor de task_handle::task_handle

Constrói uma nova task_handle objeto. O trabalho da tarefa é executado, chamando a função especificada como um parâmetro para o construtor.

task_handle:: ~ task_handle destruidor

Destrói a task_handle objeto.

Operadores públicos

Nome

Descrição

Operador de task_handle::Operator()

O operador de chamada de função que o runtime invoca para realizar o trabalho da alça de tarefa.

Comentários

task_handleobjetos podem ser usados em conjunto com um structured_task_group ou mais geral task_group o objeto, decompor o trabalho em tarefas em paralelo. Para obter mais informações, consulte Paralelismo de tarefas (Runtime de simultaneidade).

Observe que o criador de um task_handle objeto é responsável por manter a vida útil do criaram task_handle o objeto até que ele não é mais necessário pelo Runtime de simultaneidade. Geralmente, isso significa que o task_handle objeto não deve destruct até o wait ou run_and_wait método o task_group ou structured_task_group chamado para o qual ele está na fila.

task_handleNormalmente, os objetos são usados em conjunto com lambdas do C++. Porque você não souber o tipo true do lambda, o make_task função é normalmente usada para criar um task_handle objeto.

O runtime cria uma cópia da função de trabalho que você passa para um task_handle objeto. Portanto, quaisquer alterações de estado que ocorrem em uma função de objeto a que você passar para um task_handle objeto não aparecerá em sua cópia do objeto dessa função.

Hierarquia de herança

_Chore

_AllocBase

_UnrealizedChore

task_handle

Requisitos

Cabeçalho: PPL.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

Classe de task_group

structured_task_group classe

Método de task_group::Run

Método de task_group::wait

Método de structured_task_group::Run

Método de structured_task_group::wait

Outros recursos

Função de make_task

Método de task_group::run_and_wait

Método de structured_task_group::run_and_wait