Compartir a través de


task (Clase) (Motor en tiempo de ejecución de simultaneidad)

La clase task de la biblioteca de patrones de procesamiento paralelo (PPL). Un objeto task representa el trabajo que se puede ejecutar de forma asincrónica y de forma simultánea con otras tareas y trabajos paralelos generados por los algoritmos paralelos en el runtime de simultaneidad. Genera un resultado de tipo _ResultType al finalizar correctamente. Las tareas de tipo task<void> no producen ningún resultado. Es posible esperar y cancelar una tarea de forma independiente al resto de tareas. También se puede componer con otras tareas mediante continuaciones (then), así como con patrones de unión (when_all) y elección (when_any).

template <    typename _Type > class task;  template <> class task<void>;  template<    typename _ReturnType > class task;

Parámetros

  • _Type

  • T

  • _ReturnType
    Tipo de resultado de esta tarea.

Miembros

Typedefs públicas

Name

Descripción 

result_type

El tipo del resultado que un objeto de esta clase produce.

Constructores públicos

Name

Descripción 

task::task (Constructor)

Sobrecargado. Construye un objeto task.

Métodos públicos

Name

Descripción 

task::get (Método)

Sobrecargado. Devuelve el resultado que esta tarea generó. Si la tarea no está en un estado terminal, una llamada a get esperará a que finalice la tarea. Este método no devuelve un valor cuando se llama en una tarea con un result_type de void.

task::is_apartment_aware (Método)

Determina si la tarea desempaqueta una interfaz IAsyncInfo de Windows en tiempo de ejecución o si desciende de esta tarea.

task::is_done (Método) (Runtime de simultaneidad)

Determina si se completa la tarea.

task::scheduler (Método) (Runtime de simultaneidad)

Devuelve el programador para esta tarea

task::then (Método)

Sobrecargado. Agrega una tarea de continuación a esta tarea.

task::wait (Método)

Espera que esta tarea alcance un estado terminal. Es posible que wait ejecute la tarea alineada, si se cumplen todas las dependencias de tareas, y todavía no se ha detectado para la ejecución de un trabajador en segundo plano.

Operadores públicos

Name

Descripción 

task::operator!= (Operador)

Sobrecargado. Determina si dos objetos task representan diferentes tareas internas.

task::operator= (Operador)

Sobrecargado. Reemplaza el contenido de un objeto task con otro.

task::operator== (Operador)

Sobrecargado. Determina si dos objetos task representan la misma tarea interna.

Comentarios

La clase de tarea y los tipos relacionados que se definen en ppltasks.h se pueden intercambiar entre plataformas y son la base para el SDK de REST de C++, una biblioteca portátil para HTTP asincrónico.

Para obtener más información, consulta Paralelismo de tareas (Runtime de simultaneidad).

Jerarquía de herencia

task

Requisitos

Encabezado: ppltasks.h

Espacio de nombres: simultaneidad

Vea también

Referencia

concurrency (Espacio de nombres)