ICLRTask2 – rozhraní
Poskytuje všechny funkce ICLRTask rozhraní; kromě toho poskytuje metody, které umožňují zpoždění přerušení vlákna v aktuálním vlákně.
Metody
Metoda | Popis |
---|---|
BeginPreventAsyncAbort – metoda | Zpožďuje přerušení požadavků nového vlákna v aktuálním vlákně. |
EndPreventAsyncAbort – metoda | Umožňuje novým nebo čekajícím žádostem o přerušení vlákna způsobit přerušení vlákna v aktuálním vlákně. |
Poznámky
Rozhraní ICLRTask2
dědí ICLRTask
rozhraní a přidává metody, které hostiteli umožňují zpoždění přerušení vlákna, aby chránil oblast kódu, která nesmí selhat. Volání BeginPreventAsyncAbort
zvýší čítač delay-thread-abort pro aktuální vlákno a volání EndPreventAsyncAbort
ho sníží. Volání a BeginPreventAsyncAbort
EndPreventAsyncAbort
můžou být vnořená. Pokud je čítač větší než nula, jsou přerušení vlákna pro aktuální vlákno zpožděné.
Pokud se volání BeginPreventAsyncAbort
a EndPreventAsyncAbort
nespárují, je možné dosáhnout stavu, ve kterém nelze do aktuálního vlákna doručit přerušení vlákna.
Zpoždění není respektováno pro vlákno, které přeruší samo.
Funkce zpřístupněné touto funkcí jsou interně používány virtuálním počítačem. Zneužití těchto metod může způsobit nespecifikované chování virtuálního počítače. Například volání EndPreventAsyncAbort
bez prvního volání BeginPreventAsyncAbort
může nastavit čítač na nulu, když ho virtuální počítač dříve zvýšil. Podobně se u interního čítače nekontroluje přetečení. Pokud překročí svůj celočíselný limit, protože se zvýší hostitelem i virtuálním počítačem, výsledné chování není neurčené.
Informace o členech zděděných z ICLRTask
a o dalších použitích tohoto rozhraní naleznete v rozhraní ICLRTask .
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: MSCorEE.h
Knihovny: Zahrnuto jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od 4