Compartilhar via


Construtor task::task (C++ REST SDK)

Constrói um objeto task.

task();

template<
   typename _Ty
>
__declspec(
   noinline
) explicit task(_Ty _Param);

template<
   typename _Ty
>
__declspec(
   noinline
) explicit task(_Ty _Param, const task_options& _TaskOptions);

task(
   const task& _Other
);

task(
   task&& _Other
);

Parâmetros

  • _Ty
    O tipo de parâmetro a partir do qual a tarefa deve ser construída.

  • _Param
    O parâmetro a partir do qual a tarefa deve ser construída. Isso poderia ser um lambda, um objeto de função, um objeto de task_completion_event<result_type>, ou um Windows::Foundation::IAsyncInfo se você estiver usando tarefas no seu aplicativo do Windows Store. O objeto lambda ou função deve ser um equivalente de tipo a std::function<X(void)>, onde X pode ser uma variável do tipo result_type, task<result_type>, ou um Windows::Foundation::IAsyncInfo em aplicativos do Windows Store.

  • _TaskOptions
    As opções de tarefas incluem o token de cancelamento, o agendador, etc.

  • _Other
    O objeto task de origem.

Comentários

O construtor padrão para task está presente apenas para permitir que as tarefas sejam usadas dentro de contêineres. Uma tarefa construída padrão não pode ser usada até que você atribua uma tarefa válida a ela. Os métodos como get, wait ou then ) lançarão uma exceção de invalid_argument ao serem chamados em uma tarefa construída padrão.

Uma tarefa que é criada a partir de um task_completion_event será concluída ( e terá sua continuação agendada) quando o evento de conclusão da tarefa for definido.

A versão do construtor que aceita um token de cancelamento cria uma tarefa que pode ser cancelada usando cancellation_token_source do token que foi obtido. As tarefas criadas sem um token de cancelamento não são anuláveis.

As tarefas criadas de uma Windows::Foundation::IAsyncInfo interface ou um lambda que retorna um alcance de interface de IAsyncInfo atinge seu estado terminal quando a operação ou operação assíncrona englobada de Tempo de Execução do Windows for concluída. Da mesma forma, as tarefas criadas de um lamda que retornam um alcance de task<result_type> seu estado terminal quando a tarefa interna alcançar seu estado terminal e não quando o lamda retornar.

task se comporta como um ponteiro inteligente e está seguro para passar ao redor por valor. Pode ser acessado por vários threads sem a necessidade de bloqueios.

As sobrecargas do construtor que utilizam uma interface ou lambda Windows::Foundation::IAsyncInfo que retorna uma interface, só estão disponíveis para aplicativos do Windows Store.

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

Requisitos

Cabeçalho: pplxtasks.h

pplx deNamespace:

Consulte também

Referência

Classe task