ICLRTask, interface
Fournit des méthodes qui permettent à l’hôte d’effectuer des demandes auprès du Common Language Runtime (CLR) ou de fournir une notification au CLR sur la tâche associée.
Méthodes
Méthode | Description |
---|---|
Abort, méthode | Demande au CLR d’abandonner la tâche représentée par l’instance ICLRTask actuelle. |
ExitTask, méthode | Avertit le CLR que la tâche associée à l’instance ICLRTask actuelle se termine et tente d’arrêter la tâche normalement. |
GetMemStats, méthode | Obtient des informations statistiques sur l’utilisation des ressources mémoire par la tâche représentée par l’instance ICLRTask actuelle. |
LocksHeld, méthode | Obtient le nombre de verrous actuellement détenus sur la tâche. |
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 ICLRTask actuelle. |
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. |
RudeAbort, méthode | Force le CLR à abandonner immédiatement la tâche représentée par l’instance ICLRTask actuelle, sans garantie que les finaliseurs seront exécutés. |
SetTaskIdentifier, méthode | Définit un identificateur unique pour la tâche représentée par l’instance ICLRTask actuelle, à utiliser dans le débogage. |
SwitchIn, méthode | Avertit le CLR que la tâche représentée par l’instance ICLRTask actuelle est dans un état exécutable. |
SwitchOut, méthode | Avertit le CLR que la tâche représentée par l’instance ICLRTask actuelle n’est plus dans un état exécutable. |
YieldTask, méthode | Demande au CLR de mettre le temps processeur à la disposition d’autres tâches. Le CLR ne garantit pas que la tâche sera placée dans un état où elle pourra générer du temps de traitement. |
Notes
Un ICLRTask
est la représentation d’une tâche pour le CLR. À tout moment pendant l’exécution du code, une tâche peut être décrite comme en cours d’exécution ou en attente d’exécution. L’hôte appelle la méthode ICLRTask::SwitchIn
pour informer le CLR que la tâche représentée par l’instance ICLRTask
actuelle est maintenant dans un état exécutable. Après un appel à ICLRTask::SwitchIn
, l’hôte peut planifier la tâche sur n’importe quel thread du système d’exploitation, sauf dans les cas où le runtime nécessite une affinité de thread, comme spécifié par les appels aux méthodes IHostTaskManager::BeginThreadAffinity et IHostTaskManager::EndThreadAffinity. Par la suite, le système d’exploitation peut décider de supprimer la tâche du thread et de la placer dans un état « pas en cours d’exécution ». Par exemple, cela peut se produire chaque fois que la tâche se bloque sur des primitives de synchronisation ou attend la fin des opérations d’E/S. L’hôte appelle SwitchOut pour informer le CLR que la tâche représentée par l’instance ICLRTask
actuelle n’est plus dans un état exécutable.
Une tâche se termine généralement à la fin de l’exécution du code. À ce stade, l’hôte appelle ICLRTask::ExitTask
pour détruire le ICLRTask
associé. Toutefois, les tâches peuvent également être recyclées en utilisant un appel à ICLRTask::Reset
, ce qui permet de réutiliser l’instance ICLRTask
. Cette approche évite la surcharge liée à la création et à la destruction répétées d’instances.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : MSCorEE.h
Bibliothèque : incluse en tant que ressource dans MsCorEE.dll
Versions de .NET Framework : Disponible depuis la version 2.0