ICLRTask, interface

Fournit des méthodes qui permettent à l'hôte de formuler des demandes du Common Language Runtime (CLR) ou de notifier le CLR de la tâche qui y est associée.

Méthodes

Méthode

Description

ICLRTask::Abort, méthode

Demande que le CLR abandonne la tâche que l'instance ICLRTask actuelle représente.

ICLRTask::ExitTask, méthode

Notifie le CLR que la tâche associée à l'instance ICLRTask actuelle se termine et tente de fermer la tâche correctement.

ICLRTask::GetMemStats, méthode

Obtient des informations statistiques sur l'utilisation des ressources de la mémoire par la tâche représentée par l'instance de ICLRTask actuelle.

ICLRTask::LocksHeld, méthode

Obtient le nombre de verrouillages appliqués actuellement à la tâche.

ICLRTask::NeedsPriorityScheduling, méthode

Obtient une valeur indiquant si l'hôte doit attribuer une priorité élevée à la replanification de la tâche représentée par l'instance de ICLRTask actuelle.

ICLRTask::Reset, méthode

Informe le CLR que l'hôte a terminé une tâche et permet au CLR de réutiliser l'instance ICLRTask actuelle pour représenter une autre tâche.

ICLRTask::RudeAbort, méthode

Fait en sorte que le CLR abandonne immédiatement la tâche représentée par l'instance ICLRTask actuelle, sans garantie d'exécution des finaliseurs.

ICLRTask::SetTaskIdentifier, méthode

Définit un identificateur unique pour la tâche représentée par l'instance de ICLRTask actuelle, à utiliser lors du débogage.

ICLRTask::SwitchIn, méthode

Notifie le CLR que l'état de la tâche représentée par l'instance ICLRTask actuelle est opérationnel.

ICLRTask::SwitchOut, méthode

Notifie le CLR que l'état de la tâche représentée par l'instance ICLRTask actuelle n'est plus opérationnel.

ICLRTask::YieldTask, méthode

Demande que le CLR mette le temps processeur à la disposition des autres tâches. Le CLR ne garantit pas que la tâche sera dans un état qui lui permettra de céder du temps de traitement.

Notes

Un ICLRTask correspond à la représentation d'une tâche pour le CLR. Pendant l'exécution du code, une tâche peut à tout moment être décrite comme étant en cours d'exécution ou en attente d'exécution. L'hôte appelle la méthode ICLRTask::SwitchIn pour notifier le CLR que l'état de la tâche que l'instance ICLRTask actuelle représente est maintenant opérationnel. Après un appel à ICLRTask::SwitchIn, l'hôte peut planifier la tâche sur tout thread du système d'exploitation, sauf dans les cas où le runtime requiert des points communs avec les threads, comme indiqué par les appels aux méthodes IHostTaskManager::BeginThreadAffinity et IHostTaskManager::EndThreadAffinity. Le système d'exploitation peut par la suite décider de supprimer la tâche du thread et de la placer dans un état de non-exécution. Ce peut être le cas chaque fois que la tâche bloque sur des primitives de synchronisation ou attend que des opérations d'E/S se terminent. L'hôte appelle SwitchOut pour notifier le CLR que l'état de la tâche représentée par l'instance ICLRTask actuelle n'est plus opérationnel.

Une tâche prend généralement fin une fois le code exécuté. À ce moment-là, l'hôte appelle ICLRTask::ExitTask pour détruire l'ICLRTask qui y est associé. Les tâches peuvent toutefois également être recyclées en appelant ICLRTask::Reset, ce qui permet de réutiliser l'instance ICLRTask. Des charges mémoire liées à la création et à la destruction répétées d'instances sont ainsi évitées.

Spécifications

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MSCorEE.h

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

ICLRTaskManager, interface

IHostTask, interface

IHostTaskManager, interface

ICLRTask2, interface

Autres ressources

Interfaces d'hébergement