ICLRTask (Interfaz)

Proporciona métodos que permiten al host realizar solicitudes de Common Language Runtime (CLR) o proporcionar notificaciones a CLR acerca de la tarea asociada.

Métodos

Método Descripción
Abort (Método) Solicita que CLR anule la tarea que representa la instancia de ICLRTask actual.
Método ExitTask Notifica a CLR que la tarea asociada a la instancia de ICLRTask actual está finalizando e intenta apagarla correctamente.
Método GetMemStats Obtiene información estadística sobre el uso de recursos de memoria por parte de la tarea que representa la instancia de ICLRTask actual.
Método LocksHeld Obtiene el número de bloqueos que se mantienen actualmente en la tarea.
Método NeedsPriorityScheduling Obtiene un valor que indica si el host debe asignar una prioridad alta para volver a programar la tarea que representa la instancia de ICLRTask actual.
Reset (Método) Informa a CLR que el host ha completado una tarea y permite que CLR reutilice la instancia de ICLRTask actual para representar otra tarea.
RudeAbort (Método) Hace que CLR anule la tarea que representa la instancia de ICLRTask actual inmediatamente, sin garantizar que se ejecuten los finalizadores.
Método SetTaskIdentifier Establece un identificador único para la tarea que representa la instancia de ICLRTask actual, para su uso en la depuración.
Método SwitchIn Notifica a CLR que la tarea que representa la instancia de ICLRTask actual está en un estado ejecutable.
Método SwitchOut Notifica a CLR que la tarea que representa la instancia de ICLRTask actual ya no está en un estado ejecutable.
Método YieldTask Solicita que CLR haga que el tiempo del procesador esté disponible para otras tareas. CLR no garantiza que la tarea se pondrá en un estado en el que pueda suspender tiempo de procesamiento.

Comentarios

Un elemento ICLRTask es la representación de una tarea para CLR. En cualquier momento durante la ejecución del código, se puede describir una tarea como en ejecución o en espera de ejecución. El host llama al método ICLRTask::SwitchIn para notificar a CLR que la tarea que representa la instancia de ICLRTask actual está ahora en un estado ejecutable. Después de una llamada a ICLRTask::SwitchIn, el host puede programar la tarea en cualquier subproceso del sistema operativo, excepto en los casos en los que el runtime requiera afinidad de subproceso, tal y como especifican las llamadas a los métodos IHostTaskManager::BeginThreadAffinity e IHostTaskManager::EndThreadAffinity. Pasado un tiempo, el sistema operativo podría decidir quitar la tarea del subproceso y colocarla en un estado sin ejecutar. Por ejemplo, esto podría ocurrir cada vez que la tarea se bloquea en primitivos de sincronización o espera a que se completen las operaciones de E/S. El host llama a SwitchOut para notificar a CLR que la tarea que representa la instancia de ICLRTask actual ya no está en un estado ejecutable.

Normalmente, una tarea termina al final de la ejecución del código. En ese momento, el host llama a ICLRTask::ExitTask para destruir el elemento ICLRTask asociado. Pero las tareas también se pueden reciclar mediante una llamada a ICLRTask::Reset, lo que permite volver a usar la instancia de ICLRTask. Este enfoque evita la sobrecarga de crear y destruir instancias varias veces.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: MSCorEE.h

Biblioteca: incluida como recurso en MSCorEE.dll

Versiones de .NET Framework: disponible a partir de la versión 2.0

Consulte también