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
命名空间: 并发