Partager via


ICLRTask2, interface

Fournit toutes les fonctionnalités de l'interface ICLRTask ; fournit également des méthodes qui permettent de différer les abandons de thread sur le thread actuel.

Méthodes

Méthode

Description

ICLRTask2::BeginPreventAsyncAbort, méthode

Diffère les nouvelles demandes d'abandon de thread sur le thread actuel.

ICLRTask2::EndPreventAsyncAbort, méthode

Autorise les demandes d'abandon de thread nouvelles ou en attente à provoquer des abandons de thread sur le thread actuel.

Notes

L'interface ICLRTask2 hérite de l'interface ICLRTask et ajoute des méthodes permettant à l'hôte de différer les abandons de thread, pour protéger une région de code qui ne doit pas échouer. L'appel de BeginPreventAsyncAbort incrémente le compteur de délai d'abandon de thread pour le thread actuel, et l'appel de EndPreventAsyncAbort le décrémente. Les appels à BeginPreventAsyncAbort et EndPreventAsyncAbort peuvent être imbriqués. Tant que le compteur est supérieur à zéro, les abandons de thread pour le thread actuel sont retardés.

Si les appels à 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 délai n'est pas honoré pour un thread qui s'abandonne lui-même.

La fonctionnalité qui est exposée par cette fonctionnalité est utilisée en interne par la machine virtuelle. L'utilisation incorrecte de ces méthodes peut provoquer un comportement non spécifié dans la machine virtuelle. Par exemple, le fait d'appeler EndPreventAsyncAbort sans appeler auparavant BeginPreventAsyncAbort peut mettre le compteur à zéro alors que la machine virtuelle l'a précédemment incrémenté. De même, le compteur interne ne fait pas l'objet d'une vérification de dépassement de capacité. S'il dépasse sa limite intégrale parce qu'il est incrémenté par l'hôte et la machine virtuelle, le comportement résultant n'est pas spécifié.

Pour plus d'informations sur les membres hérités de ICLRTask et sur les autres utilisations de cette interface, consultez l'interface ICLRTask.

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

Voir aussi

Référence

ICLRTask, interface

ICLRTaskManager, interface

IHostTask, interface

IHostTaskManager, interface

Autres ressources

Interfaces d'hébergement