ICLRTask-gränssnitt
Innehåller metoder som gör det möjligt för värden att göra begäranden om CLR (Common Language Runtime) eller att skicka meddelanden till CLR om den associerade aktiviteten.
Metoder
Metod | Beskrivning |
---|---|
Abort-metod | Begär att CLR avbryter uppgiften som den aktuella ICLRTask instansen representerar. |
ExitTask-metod | Meddelar CLR att uppgiften som är associerad med den aktuella ICLRTask instansen avslutas och försöker stänga av aktiviteten på ett smidigt sätt. |
GetMemStats-metod | Hämtar statistisk information om användningen av minnesresurser av uppgiften som representeras av den aktuella ICLRTask instansen. |
LocksHeld-metod | Hämtar antalet lås som för närvarande finns i aktiviteten. |
NeedsPriorityScheduling-metod | Hämtar ett värde som anger om värden ska tilldela en hög prioritet för att schemalägga om uppgiften som representeras av den aktuella ICLRTask instansen. |
Återställ metod | Informerar CLR om att värden har slutfört en uppgift och gör det möjligt för CLR att återanvända den aktuella ICLRTask instansen för att representera en annan uppgift. |
RudeAbort-metod | Gör så att CLR avbryter uppgiften som representeras av den aktuella ICLRTask instansen omedelbart, utan en garanti för att slutförarna körs. |
SetTaskIdentifier-metod | Anger en unik identifierare för uppgiften som representeras av den aktuella ICLRTask instansen, för användning vid felsökning. |
SwitchIn-metod | Meddelar CLR att uppgiften som representeras av den aktuella ICLRTask instansen är i ett fungerande tillstånd. |
SwitchOut-metod | Meddelar CLR att uppgiften som representeras av den aktuella ICLRTask instansen inte längre är i ett fungerande tillstånd. |
YieldTask-metod | Begär att CLR gör processortid tillgänglig för andra uppgifter. CLR garanterar inte att uppgiften försättas i ett tillstånd där den kan ge bearbetningstid. |
Kommentarer
En ICLRTask
är representationen av en uppgift för CLR. När som helst under kodkörningen kan en aktivitet beskrivas antingen som körs eller väntar på att köras. Värden anropar ICLRTask::SwitchIn
metoden för att meddela CLR att uppgiften som den aktuella ICLRTask
instansen representerar nu är i ett driftbart tillstånd. Efter ett anrop till ICLRTask::SwitchIn
kan värden schemalägga aktiviteten på valfri operativsystemtråd, förutom i fall där körningen kräver trådtillhörighet, enligt anrop till metoderna IHostTaskManager::BeginThreadAffinity och IHostTaskManager::EndThreadAffinity . En stund senare kan operativsystemet välja att ta bort uppgiften från tråden och placera den i ett tillstånd som inte körs. Detta kan till exempel inträffa när aktiviteten blockerar synkroniseringsprimitiver eller väntar på att I/O-åtgärder ska slutföras. Värden anropar SwitchOut för att meddela CLR att uppgiften som representeras av den aktuella ICLRTask
instansen inte längre är i ett fungerande tillstånd.
En uppgift avslutas vanligtvis i slutet av kodkörningen. Vid den tidpunkten anropar ICLRTask::ExitTask
värden för att förstöra den associerade ICLRTask
. Uppgifter kan dock också återanvändas med hjälp av ett anrop till ICLRTask::Reset
, vilket gör att instansen ICLRTask
kan användas igen. Den här metoden förhindrar att flera gånger skapa och förstöra instanser.
Krav
Plattformar: Se Systemkrav.
Huvudet: MSCorEE.h
Bibliotek: Ingår som en resurs i MSCorEE.dll
.NET Framework versioner: Tillgänglig sedan 2.0