Compartir a través de


create_task (Función)

Crea un objeto tarea de PPL. create_task se puede usar en cualquier lugar en el que se ha utilizado un constructor de tarea. Se proporciona principalmente por comodidad, porque permite el uso de la palabra clave auto cuando se crean tareas.

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
    Tipo del parámetro a partir del cual se va a construir la tarea.

  • _ReturnType

  • _Param
    Parámetro desde el que se va a construir la tarea. Podría ser una expresión o un objeto de función lambda, un objeto task_completion_event, un objeto task diferente o una interfaz Windows::Foundation::IAsyncInfo si usa tareas en la aplicación de la Tienda Windows.

  • _TaskOptions

  • _Task

Valor devuelto

Una nueva tarea de tipo T, que se infiere de _Param.

Comentarios

La primera sobrecarga se comporta como un constructor de tareas que toma un único parámetro.

La segunda sobrecarga asocia el token de cancelación proporcionado con la tarea creada recientemente. Si utiliza esta sobrecarga no tiene permiso para pasar un objeto task diferente como primer parámetro.

El tipo de la tarea devuelta se deduce del primer parámetro para la función. Si _Param es task_completion_event<T>, task<T> o un functor que devuelve un tipo T o task<T>, el tipo de tarea creada es task<T>.

En una aplicación de la Tienda Windows, si _Param es de tipo Windows::Foundation::IAsyncOperation<T>^ o Windows::Foundation::IAsyncOperationWithProgress<T,P>^, o un functor que devuelve cualquiera de esos tipos, la tarea creada será de tipo task<T>. Si _Param es del tipo Windows::Foundation::IAsyncAction^ o Windows::Foundation::IAsyncActionWithProgress<P>^ o un functor que devuelve cualquiera de esos tipos, la tarea creada tendrá un tipo task<void>.

Requisitos

Encabezado: ppltasks.h

Espacio de nombres: simultaneidad

Vea también

Referencia

concurrency (Espacio de nombres)

task (Clase)

Conceptos

Paralelismo de tareas (Runtime de simultaneidad)