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::SwitchIn
můž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