task::task (Constructor)
Construye un objeto task.
task();
template<
typename _Ty
>
__declspec(
noinline
) explicit task(_Ty _Param);
template<
typename _Ty
>
__declspec(
noinline
) explicit task(_Ty _Param, const task_options& _TaskOptions);
task(
const task& _Other
);
task(
task&& _Other
);
Parámetros
_Ty
Tipo del parámetro a partir del cual se va a construir la tarea._Param
Parámetro desde el que se va a construir la tarea. Podría ser una expresión lambda, un objeto de función, un objeto task_completion_event<result_type> o una interfaz Windows::Foundation::IAsyncInfo si se usan tareas en la aplicación de la Tienda Windows. El objeto de función o la expresión lambda debe ser un tipo equivalente a std::function<X(void)>, donde X puede ser una variable de tipo result_type, task<result_type> o una interfaz Windows::Foundation::IAsyncInfo en aplicaciones de la Tienda Windows._TaskOptions
Entre las opciones de tareas se incluyen el token de cancelación, el programador, etc._Other
Objeto task de origen.
Comentarios
El constructor predeterminado de un objeto task solo está presente para permitir que las tareas se usen dentro de los contenedores. No se puede usar una tarea construida de forma predeterminada hasta que no se le asigne una tarea válida. Los métodos, como get, wait o then, producirán una excepción invalid_argument cuando se llamen en una tarea construida predeterminada.
Las tareas que se creen a partir de un objeto task_completion_event se completarán (y sus continuaciones se programarán) cuando se establezca el evento de finalización de las tareas.
La versión del constructor que toma un token de cancelación crea una tarea que se puede cancelar mediante el token cancellation_token_source desde el que se obtuvo. Las tareas que se crean sin token de cancelación no se pueden cancelar.
Las tareas que se crean a partir de la interfaz Windows::Foundation::IAsyncInfo o de una expresión lambda que devuelve una interfaz IAsyncInfo alcanzan su estado de terminal cuando se completa la operación o acción asincrónica insertada en Windows en tiempo de ejecución. De manera similar, las tareas que se crean a partir de una expresión lamda que devuelve un objeto task<result_type> alcanzan su estado terminal cuando la tarea interna alcanza su estado terminal, y no cuando la expresión lamda devuelve un resultado.
El objeto task se comporta como un puntero inteligente y se puede pasar con seguridad por valor. Varios subprocesos pueden tener acceso a este objeto sin necesidad de bloqueos.
Las sobrecargas del constructor que toman una interfaz Windows::Foundation::IAsyncInfo o una expresión lambda que devuelve este tipo de interfaz solamente están disponibles para las aplicaciones de la Tienda Windows.
Para obtener más información, vea Paralelismo de tareas (Runtime de simultaneidad).
Requisitos
Encabezado: ppltasks.h
Espacio de nombres: simultaneidad
Vea también
Referencia
task (Clase) (Motor en tiempo de ejecución de simultaneidad)