create_task 函数

创建一个 PPL 任务 对象。 可以使用create_task 任何地方将使用任务构造函数。 提供主要为了方便起见,,因为它允许访问 auto 关键字的用法,在创建任务时。

template<
   typename _Ty
>
auto create_task(
   _Ty_Param
) -> task<typename details::_TaskTypeFromParam<_Ty>::_Type>;

template<
   typename _Ty
>
auto create_task(
   _Ty_Param,
   cancellation_token _Token
) -> task<typename details::_TaskTypeFromParam<_Ty>::_Type>;

参数

  • _Ty
    任务将构造参数的类型。

  • _Param
    任务将构造的参数。 ,如果您的地铁样式 app,使用任务这可能是 lambda 或函数对象、 task_completion_event 对象、不同的 task 对象或 Windows::Foundation::IAsyncInfo 接口。

  • _Token
    联合的取消标记与任务。 在此标记的源中移除,移除该任务将请求。

返回值

新任务类型 T,则从 _Param推断。

备注

第一个重载行为与采用单个参数的任务构造函数。

第二个重载关联取消标记随新创建的任务。 如果使用此重载可以在不同的 task 对象不允许作为第一个参数传递。

返回的任务的类型从第一个参数推断到函数。 如果 _Param 是 task_completion_event<T>、 **task<T>**或返回类型 T 或 **task<T>**的 functor,创建的任务的类型为 task<T>

在地铁样式 app,因此,如果 _Param 是类型 Windows::Foundation::IAsyncOperation<T>^ 或 Windows::Foundation::IAsyncOperationWithProgress<T, P>^; 否则返回这些类型之一的 functor,创建的任务将更有类型 task<T>。 如果 _Param 返回这些类型之一的类型 Windows::Foundation::IAsyncAction^ 或 Windows::Foundation::IAsyncActionWithProgress<P>^ 或 functor,创建的任务将具有类型 task<void>

要求

标题: ppltasks.h

命名空间: 并发

请参见

参考

concurrency 命名空间

任务类

概念

任务并行(并发运行时)