Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La clase task_handle representa un elemento de trabajo individual paralelo. Encapsula las instrucciones y los datos necesarios para ejecutar una parte del trabajo.
Sintaxis
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
Parámetros
_Function
Tipo del objeto de función que se invocará para ejecutar el trabajo representado por el objeto task_handle.
Miembros
Constructores públicos
| Nombre | Descripción |
|---|---|
| task_handle | Construye un nuevo objeto task_handle. El trabajo de la tarea se realiza invocando la función especificada como un parámetro para el constructor. |
| ~task_handle Destructor | Destruye el objeto task_handle. |
Operadores públicos
| Nombre | Descripción |
|---|---|
| operator() | El operador de llamada de función que el tiempo de ejecución invoca para realizar el trabajo del manejo de tarea. |
Comentarios
Los objetos task_handlese pueden usar junto con un objeto structured_task_group o un objeto task_group más general, para descomponer el trabajo en tareas paralelas. Para obtener más información, consulte Paralelismo de tareas.
Tenga en cuenta que el creador de un objeto task_handle es responsable de gestionar la vida útil del objeto task_handle creado hasta que ya no lo requiera el tiempo de ejecución de Concurrency. Normalmente, esto significa que el objeto task_handle no debe destruirse hasta que se haya llamado al método wait o run_and_wait de task_group o structured_task_group al que se ha puesto en cola.
Los objetos task_handle normalmente se usan junto con lambdas de C++. Dado que no conoce el tipo verdadero de la expresión lambda, la función make_task se usa normalmente para crear un objeto task_handle.
El tiempo de ejecución crea una copia de la función de trabajo que usted pasa a un objeto task_handle. Por lo tanto, cualquier cambio de estado que se produzca en un objeto de función que pase a este objeto task_handle no aparecerá en la copia de ese objeto de función.
Jerarquía de herencia
task_handle
Requisitos
Encabezado: ppl.h
Espacio de nombres: simultaneidad
operator()
El operador de llamada de función que el tiempo de ejecución invoca para realizar el trabajo del identificador de tarea.
void operator()() const;
manejador_de_tarea
Construye un nuevo objeto task_handle. El trabajo de la tarea se realiza invocando la función especificada como un parámetro para el constructor.
task_handle(const _Function& _Func);
Parámetros
_Func
La función que se invocará para ejecutar el trabajo representado por el objeto task_handle. Esto puede ser un functor lambda, un puntero a una función o cualquier objeto que admita una versión del operador de llamada de función con la signatura void operator()().
Comentarios
El entorno de ejecución crea una copia de la función de trabajo que pasas al constructor. Por lo tanto, cualquier cambio de estado que se produzca en un objeto de función que pase a este objeto task_handle no aparecerá en la copia de ese objeto de función.
~task_handle
Destruye el objeto task_handle.
~task_handle();
Consulte también
espacio de nombres de concurrencia
task_group Clase
structured_task_group Clase