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 |
---|---|
Demande que le CLR abandonne la tâche que l'instance ICLRTask actuelle représente. |
|
Notifie le CLR que la tâche associée à l'instance ICLRTask actuelle se termine et tente de fermer la tâche correctement. |
|
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. |
|
Obtient le nombre de verrouillages appliqués actuellement à la tâche. |
|
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. |
|
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. |
|
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. |
|
Définit un identificateur unique pour la tâche représentée par l'instance de ICLRTask actuelle, à utiliser lors du débogage. |
|
Notifie le CLR que l'état de la tâche représentée par l'instance ICLRTask actuelle est opérationnel. |
|
Notifie le CLR que l'état de la tâche représentée par l'instance ICLRTask actuelle n'est plus opérationnel. |
|
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