Partilhar via


task_handle Classe

A task_handle classe representa um item de trabalho paralelo individual. Encapsula as instruções e os dados necessários para executar um trabalho.

Sintaxe

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

Parâmetros

_Function
O tipo do objeto de função que será invocado para executar o trabalho representado pelo objeto task_handle.

Membros

Construtores Públicos

Nome Description
task_handle Constrói um novo task_handle objeto. O trabalho da tarefa é realizado invocando a função especificada como parâmetro ao construtor.
~task_handle Destructor Destrói o task_handle objeto.

Operadores Públicos

Nome Description
operador() O operador de chamada de função que o tempo de execução invoca para executar o trabalho do manipulador da tarefa.

Observações

task_handle Os objetos podem ser usados em conjunto com um structured_task_group ou um objeto mais geral task_group , para decompor trabalho em tarefas paralelas. Para obter mais informações, consulte paralelismo de tarefas.

Note-se que o criador de um objeto task_handle é responsável por manter a vida útil do objeto task_handle criado até que deixe de ser necessário pelo Concurrency Runtime. Normalmente, isto significa que o objeto task_handle não deve ser destruído até que o método wait ou run_and_wait do task_group ou structured_task_group para o qual está enfileirado tenha sido chamado.

task_handle os objetos são tipicamente usados em conjunto com lambdas em C++. Como não se conhece o verdadeiro tipo do lambda, a função make_task é normalmente usada para criar um task_handle objeto.

O tempo de execução cria uma cópia da função de trabalho que é passada para um objeto task_handle. Portanto, quaisquer alterações de estado que ocorram num objeto função que passes a um task_handle objeto não aparecerão na tua cópia desse objeto funcional.

Hierarquia de herança

task_handle

Requerimentos

Cabeçalho: ppl.h

Namespace: simultaneidade

operador()

O operador de chamada de função que o tempo de execução invoca para realizar o trabalho associado ao manipulador da tarefa.

void operator()() const;

task_handle

Constrói um novo task_handle objeto. O trabalho da tarefa é realizado invocando a função especificada como parâmetro ao construtor.

task_handle(const _Function& _Func);

Parâmetros

_Func
A função que será invocada para executar o trabalho representado pelo objeto task_handle. Pode ser um functor lambda, um ponteiro para uma função ou qualquer objeto que suporte uma versão do operador de chamada de função com a assinatura void operator()().

Observações

O tempo de execução cria uma cópia da função operacional que é passada ao construtor. Portanto, quaisquer alterações de estado que ocorram num objeto função que passes a um task_handle objeto não aparecerão na tua cópia desse objeto funcional.

~task_handle

Destrói o task_handle objeto.

~task_handle();

Consulte também

concorrência Namespace
task_group Classe
structured_task_group Classe