Sdílet prostřednictvím


ICLRTask – rozhraní

Poskytuje metody, které hostiteli umožňují provádět požadavky modulu CLR (Common Language Runtime) nebo poskytovat oznámení modulu CLR o přidružené úloze.

Metody

Metoda Popis
Abort – metoda Požaduje, aby CLR přerušil úlohu, kterou představuje aktuální ICLRTask instance.
ExitTask – metoda Upozorní CLR, že úkol přidružený k aktuální ICLRTask instanci končí, a pokusí se úlohu řádně vypnout.
GetMemStats – metoda Získá statistické informace o využití paměťových zdrojů úlohou reprezentovanou aktuální ICLRTask instancí.
LocksHeld – metoda Získá počet zámků aktuálně uložených v úloze.
NeedsPriorityScheduling – metoda Získá hodnotu označující, zda by hostitel měl přiřadit vysokou prioritu přeplánování úlohy reprezentované aktuální ICLRTask instancí.
Reset – metoda Informuje CLR o tom, že hostitel dokončil úlohu, a umožní clr znovu použít aktuální ICLRTask instanci k reprezentaci jiné úlohy.
RudeAbort – metoda Způsobí, že CLR okamžitě přeruší úlohu reprezentovanou aktuální ICLRTask instancí bez záruky, že finalizátory budou provedeny.
SetTaskIdentifier – metoda Nastaví jedinečný identifikátor úlohy reprezentované aktuální ICLRTask instancí pro použití při ladění.
SwitchIn – metoda Upozorní CLR, že úloha reprezentovaná aktuální ICLRTask instancí je v provozuschopném stavu.
SwitchOut – metoda Upozorní CLR, že úloha reprezentovaná aktuální ICLRTask instancí již není v provozuschopném stavu.
YieldTask – metoda Vyžaduje, aby modul CLR zpřístupnul čas procesoru pro jiné úlohy. CLR nezaručuje, že úloha bude uvedena do stavu, kdy může poskytovat čas zpracování.

Poznámky

An ICLRTask je reprezentace úkolu pro CLR. V jakémkoli okamžiku provádění kódu je možné úlohu popsat jako spuštěnou nebo čekající na spuštění. Hostitel volá metodu ICLRTask::SwitchIn upozorňovat CLR, že úloha, kterou představuje aktuální ICLRTask instance, je nyní v provozuschopném stavu. Po volání ICLRTask::SwitchInmůže hostitel naplánovat úlohu v libovolném vlákně operačního systému s výjimkou případů, kdy modul runtime vyžaduje spřažení vláken, jak je určeno voláním metod IHostTaskManager::BeginThreadAffinity a IHostTaskManager::EndThreadAffinity . O něco později se operační systém může rozhodnout odebrat úlohu z vlákna a umístit ji do neběžového stavu. K tomu může dojít například pokaždé, když úloha blokuje primitivy synchronizace nebo čeká na dokončení vstupně-výstupních operací. Hostitel zavolá SwitchOut a upozorní CLR, že úloha reprezentovaná aktuální ICLRTask instancí již není v provozuschopném stavu.

Úloha se obvykle ukončí na konci spuštění kódu. V té době hostitel zavolá ICLRTask::ExitTask ke zničení přidruženého ICLRTask. Úlohy se ale dají recyklovat také pomocí volání ICLRTask::Reset, které umožňuje ICLRTask opětovné použití instance. Tento přístup zabraňuje režii opakovaného vytváření a ničení instancí.

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 verze 2.0

Viz také