Sdílet prostřednictvím


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 BeginPreventAsyncAbortEndPreventAsyncAbort 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

Viz také