Classe task_handle
A classe task_handle
representa um item de trabalho paralelo individual. Ela 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 | Descrição |
---|---|
task_handle | Constrói um novo objeto task_handle . O trabalho da tarefa é executado invocando a função especificada como um parâmetro para o construtor. |
~task_handle Destructor | Destrói o objeto task_handle . |
Operadores públicos
Nome | Descrição |
---|---|
operador() | O operador de chamada de função que o runtime invoca para executar o trabalho do identificador de tarefa. |
Comentários
os objetos task_handle
podem ser usados em conjunto com um structured_task_group
ou um objeto ou mais geral task_group
, para decompor o trabalho em tarefas paralelas. Para saber mais, confira Paralelismo da tarefa.
Observe que o criador de um objeto task_handle
é responsável por manter o tempo de vida do objeto criado task_handle
até que ele não seja mais exigido pelo Runtime de Simultaneidade. Normalmente, isso significa que o objeto task_handle
não deve se destruir até que o método ou wait
o run_and_wait
de task_group
ou structured_task_group
, ao qual ele está enfileirado tenha sido chamado.
os objetos task_handle
normalmente são usados em conjunto com lambdas C++. Como você não sabe o tipo verdadeiro do lambda, a função make_task normalmente é usada para criar um objeto task_handle
.
O runtime cria uma cópia da função de trabalho que você passa para um objeto task_handle
. Portanto, todas as alterações de estado que ocorrem em um objeto de função que você passa para um objeto task_handle
não aparecerão na cópia desse objeto de função.
Hierarquia de herança
task_handle
Requisitos
Cabeçalho: ppl.h
Namespace: concurrency
operador()
O operador de chamada de função que o runtime invoca para executar o trabalho do identificador de tarefa.
void operator()() const;
task_handle
Constrói um novo objeto task_handle
. O trabalho da tarefa é executado invocando a função especificada como um parâmetro para o 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 dê suporte a uma versão do operador de chamada de função com a assinatura void operator()()
.
Comentários
O runtime cria uma cópia da função de trabalho que você passa para o construtor. Portanto, todas as alterações de estado que ocorrem em um objeto de função que você passa para um objeto task_handle
não aparecerão na cópia desse objeto de função.
~task_handle
Destrói o objeto task_handle
.
~task_handle();
Confira também
Namespace de simultaneidade
Classe task_group
Classe structured_task_group