Compartilhar via


Classe task (Tempo de Execução de Simultaneidade)

A classe task da Biblioteca de Padrões Paralelos (PPL). O objeto task representa o trabalho que pode ser executado de forma assíncrona e simultaneamente com outras tarefas e o trabalho paralelo produzido por algoritmos paralelos no Tempo de execução de simultaneidade. Produz um resultado de tipo _ResultType após uma conclusão bem-sucedida. Tarefas do tipo task<void> não produzem resultados. Uma tarefa pode ser aguardada e cancelada independentemente de outras tarefas. Ela também pode ser composta por outras tarefas usando continuations(then) e os padrões join(when_all) e choice(when_any).

template <    typename _Type > class task;  template <> class task<void>;  template<    typename _ReturnType > class task;

Parâmetros

  • _Type

  • T

  • _ReturnType
    O tipo de resultado desta tarefa.

Membros

Typedefs públicos

Nome

Descrição

result_type

O tipo do resultado que um objeto desta classe produz.

Construtores Públicos

Nome

Descrição

Construtor task::task

Sobrecarregado. Constrói um objeto task.

Métodos Públicos

Nome

Descrição

Método task::get

Sobrecarregado. Retorna o resultado produzido por essa tarefa. Se a tarefa não estiver em um estado terminal, uma chamada para get irá aguardar a conclusão da tarefa. Este método não retorna um valor quando chamado em uma tarefa com um result_type de void.

Método task::is_apartment_aware

Determina se a tarefa desvincula uma interface de Tempo de execução do Windows IAsyncInfo ou se é descendente de tal tarefa.

Método task::is_done (Tempo de Execução de Simultaneidade)

Determina se a tarefa foi concluída.

Método task::scheduler (Tempo de Execução de Simultaneidade)

Retorna o agendador para essa tarefa

Método task::then

Sobrecarregado. Adiciona uma tarefa de continuação para essa tarefa.

Método task::wait

Aguarda que essa tarefa alcance um estado terminal. É possível para wait executar a tarefa em linha, se todas as dependências de tarefas forem atendidas, e ela ainda não tiver sido escolhida para execução por um trabalho em segundo plano.

Operadores Públicos

Nome

Descrição

Operador task::operator!=

Sobrecarregado. Determina se dois objetos task representam tarefas internas diferentes.

Operador task::operator=

Sobrecarregado. Substitui o conteúdo de um objeto task por outro.

Operador task::operator==

Sobrecarregado. Determina se dois objetos task representam a mesma tarefa interna.

Comentários

A classe de tarefa e tipos relacionados definidos em ppltasks são portáteis em plataformas e são a base para o C++ REST SDK, uma biblioteca portátil para HTTP assíncrona.

Para obter mais informações, consulte Paralelismo de tarefa (tempo de execução de simultaneidade).

Hierarquia de herança

task

Requisitos

Cabeçalho: ppltasks

Namespace: simultaneidade

Consulte também

Referência

Namespace Concurrency