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() | Operador de llamada de función que invoca el runtime para realizar el trabajo del identificador 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 mantener la duración del objeto task_handle creado hasta que ya no lo requiera el runtime de simultaneidad. 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 se pasa a este 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()
Operador de llamada de función que invoca el runtime para realizar el trabajo del identificador de tarea.
void operator()() const;
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(const _Function& _Func);
Parámetros
_Func
Tipo del objeto de 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 tiempo de ejecución crea una copia de la función de trabajo que se pasa a este 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
concurrency (espacio de nombres)
task_group (clase)
structured_task_group (clase)