Partager via


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

Voir aussi