ICLRTask2, interface
Fournit toutes les fonctionnalités de l’interface ICLRTask. Fournit également des méthodes qui permettent aux abandons de thread d’être retardés sur le thread actuel.
Méthodes
Méthode | Description |
---|---|
BeginPreventAsyncAbort, méthode | Retarde les nouvelles demandes d’abandon de thread sur le thread actuel. |
BeginPreventAsyncAbort, méthode | Autorise les demandes d’abandon de thread nouvelles ou en attente à entraîner des abandons de thread sur le thread actuel. |
Notes
L’interface ICLRTask2
hérite de l’interface ICLRTask
et ajoute des méthodes qui permettent à l’hôte de retarder les abandons de threads, afin de protéger une région de code qui ne doit pas échouer. L’appel BeginPreventAsyncAbort
incrémente le compteur delay-thread-abort pour le thread actuel et l’appel EndPreventAsyncAbort
le désincrémente. Les appels vers BeginPreventAsyncAbort
et EndPreventAsyncAbort
peuvent être imbriqués. Tant que le compteur est supérieur à zéro, les abandons de threads sont retardés pour le thread actuel.
Si les appels vers BeginPreventAsyncAbort
et EndPreventAsyncAbort
ne sont pas associés, il est possible d’atteindre un état dans lequel les abandons de thread ne peuvent pas être remis au thread actuel.
Le retard n’est pas respecté pour un thread qui abandonne lui-même.
La fonctionnalité exposée est utilisée en interne par la machine virtuelle. Une mauvaise utilisation de ces méthodes peut entraîner un comportement non spécifié dans la machine virtuelle. Par exemple, l’appel de EndPreventAsyncAbort
sans appel préalable de BeginPreventAsyncAbort
peut remettre le compteur à zéro alors que la machine virtuelle l’a préalablement incrémenté. De même, le dépassement du compteur interne n’est pas vérifié. S’il dépasse sa limite intégrale parce qu’il est incrémenté à la fois par l’hôte et par la machine virtuelle, le comportement qui en résulte n’est pas spécifié.
Pour plus d’informations sur les membres hérités et ICLRTask
sur les autres utilisations de cette interface, consultez l’interface ICLRTask.
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 : Disponibles depuis 4