Partager via


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

Voir aussi