Condividi tramite


Funzione create_task

Crea un oggetto attività PPL. create_task può essere utilizzato ovunque si sarebbe utilizzato un costruttore di attività. Viene fornito principalmente per comodità, in quanto consente l'utilizzo della parola chiave auto durante la creazione delle attività.

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);

Parametri

  • _Ty
    Il tipo del parametro dal quale deve essere costruita l'attività.

  • _ReturnType

  • _Param
    Il parametro dal quale deve essere costruita l'attività. Ciò può essere un'espressione lambda, un oggetto funzione, un oggetto task_completion_event, un oggetto task oppure un'interfaccia Windows::Foundation::IAsyncInfo se si utilizzano le attività nell'applicazione Windows Store.

  • _TaskOptions

  • _Task

Valore restituito

Nuova attività di tipo T, che viene derivata da _Param.

Note

Il primo overload si comporta come un costruttore di attività che accetta un singolo parametro.

Il secondo overload associa il token di annullamento fornito con l'attività appena creata. Se si utilizza questo overload non è consentito passare un oggetto task diverso come primo parametro.

Il tipo dell'attività restituita viene dedotto dal primo parametro per la funzione. Se _Param è task_completion_event<T>, task<T> o un functor che restituisce il tipo T o task<T>, il tipo dell'attività creata è task<T>.

In un'app di Windows Store, se _Param è di tipo Windows::Foundation::IAsyncOperation<T>^ o Windows::Foundation::IAsyncOperationWithProgress<T,P>^, o un funtore che restituisce uno di questi tipo, l'attività creata sarà di tipo task<T>. Se _Param è di tipo Windows::Foundation::IAsyncAction^ o Windows::Foundation::IAsyncActionWithProgress<P>^, o un funtore che restituisce uno dei tipi, l'attività creata sarà di tipo task<void>.

Requisiti

Intestazione: ppltasks.h

Spazio dei nomi: concorrenza

Vedere anche

Riferimenti

Spazio dei nomi concurrency

Classe task

Concetti

Parallelismo delle attività (runtime di concorrenza)