Compartilhar via


Função create_task

Criar um objeto de tarefa PPL. create_task pode ser usado em qualquer lugar em que você usaria um construtor de tarefas. É fornecido principalmente para conveniência, porque permite o uso da palavra-chave auto durante a criação de tarefas.

template<
   typename _Ty
>
__declspec(
   noinline
) auto create_task(_Ty _Param, const task_options& _TaskOptions = task_options()) -> task<typename details::_TaskTypeFromParam<_Ty>::_Type>;

template<
   typename _ReturnType
>
__declspec(
   noinline
) task<_ReturnType> create_task(const task<_ReturnType>& _Task);

Parâmetros

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

  • _ReturnType

  • _Param
    O parâmetro a partir do qual a tarefa deve ser construída. Isso poderia ser um lambda ou objeto de função, um objeto de task_completion_event, um objeto diferente de task, ou uma interface Windows::Foundation::IAsyncInfo se você estiver usando tarefas no seu aplicativo do Windows Store.

  • _TaskOptions

  • _Task

Valor de retorno

Uma nova tarefa de tipo T, que é inferida de _Param.

Comentários

A primeira sobrecarga funciona como um construtor de tarefa que aceita um único parâmetro.

A segunda sobrecarga associa o token de cancelamento fornecido com a tarefa recém-criada. Se você usar essa sobrecarga, não poderá passar um objeto task diferente como o primeiro parâmetro.

O tipo da tarefa retornada é inferido do primeiro parâmetro para a função. Se _Param for task_completion_event<T>, task<T> ou um funtor que retorne o tipo T ou task<T>, o tipo da tarefa criada será task<T>.

Em um aplicativo da Windows Store, se _Param for do tipo Windows::Foundation::IAsyncOperation<T>^ ou Windows::Foundation::IAsyncOperationWithProgress<T,P>^ ou um funtor que retorna um desses tipos, a tarefa criada será do tipo task<T>. Se _Param for do tipo Windows::Foundation::IAsyncAction^ ou Windows::Foundation::IAsyncActionWithProgress<P>^, ou um funtor que retorne um desses tipos, a tarefa criada terá o tipo task<void>.

Requisitos

Cabeçalho: ppltasks.h

Namespace: simultaneidade

Consulte também

Referência

Namespace Concurrency

Classe task

Conceitos

Paralelismo de tarefa (tempo de execução de simultaneidade)