Sdílet prostřednictvím


create_task – funkce

Vytvoří objekt úloha PPL.create_task lze použít kdekoli by jste použili úkol konstruktoru.Je určen hlavně pro pohodlí, protože umožňuje použití klíčového slova auto při vytváření úloh.

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

Parametry

  • _Ty
    Typ parametru, ze kterého má být vyroben úkol.

  • _ReturnType

  • _Param
    Typ parametru, ze kterého má být konstruován úkol.To může být lambda nebo objekt funkce, objekt task_completion_event, jiný objekt task nebo rozhraní Windows::Foundation::IAsyncInfo, pokud používáte úkoly v aplikaci pro web Windows Store.

  • _TaskOptions

  • _Task

Vrácená hodnota

Nový úkol typu T, který je odvozen z _Param.

Poznámky

První přetížení se chová jako konstruktor úkolu, který přijímá jeden parametr.

Druhé přetížení přidružuje token zrušení, který je součástí nově vytvořené úlohy.Pokud použijete toto přetížení, nemůžete předat do jiného objektu task jako první parametr.

Typ vrácené úlohy je odvozen z prvního parametru funkce.Pokud _Param je task_completion_event<T>, task<T>, nebo funktor, který vrátí buď typ T nebo task<T>, typ vytvořeného úkolu je task<T>.

V aplikaci Windows Store _Param je typu Windows::Foundation::IAsyncOperation<T>^ nebo Windows::Foundation::IAsyncOperationWithProgress<T,P>^ nebo funktor, který vrací jeden z těchto typů, bude vytvořený úkol typu task<T>.Pokud _Param je typu Windows::Foundation::IAsyncAction^ nebo Windows::Foundation::IAsyncActionWithProgress<P>^ nebo funktor, který vrací jeden z těchto typů, bude vytvořený úkol typ task<void>.

Požadavky

Záhlaví: ppltasks.h

Obor názvů: souběžnost

Viz také

Referenční dokumentace

concurrency – obor názvů

task – třída

Koncepty

Funkční paralelismus (Concurrency Runtime)