ICLRTask interfész
Olyan metódusokat biztosít, amelyek lehetővé teszik a gazdagép számára a közös nyelvi futtatókörnyezet (CLR) kéréseit, vagy értesítést küld a CLR-nek a társított feladatról.
Metódusok
Metódus | Leírás |
---|---|
Megszakítási módszer | Azt kéri, hogy a CLR megszakítsa az aktuális ICLRTask példány által képviselt feladatot. |
ExitTask metódus | Értesíti a CLR-t arról, hogy az aktuális ICLRTask példányhoz társított tevékenység befejeződött, és megpróbálja szabályosan leállítani a feladatot. |
GetMemStats metódus | Statisztikai adatokat kap a memóriaerőforrások használatáról az aktuális ICLRTask példány által képviselt feladat alapján. |
LocksHeld metódus | Lekéri a tevékenységen jelenleg tárolt zárolások számát. |
NeedsPriorityScheduling metódus | Beolvas egy értéket, amely jelzi, hogy a gazdagépnek magas prioritást kell-e hozzárendelnie az aktuális ICLRTask példány által képviselt feladat átütemezéséhez. |
Visszaállítási módszer | Tájékoztatja a CLR-t, hogy a gazdagép elvégzett egy feladatot, és lehetővé teszi, hogy a CLR újra felhasználja az aktuális ICLRTask példányt egy másik tevékenység megjelenítéséhez. |
RudeAbort metódus | A CLR azonnal megszakítja az aktuális ICLRTask példány által képviselt feladatot anélkül, hogy garantálható lenne a véglegesítők végrehajtása. |
SetTaskIdentifier metódus | Beállít egy egyedi azonosítót az aktuális ICLRTask példány által képviselt tevékenységhez a hibakereséshez. |
SwitchIn metódus | Értesíti a CLR-t, hogy az aktuális ICLRTask példány által képviselt feladat működőképes állapotban van. |
SwitchOut metódus | Értesíti a CLR-t, hogy az aktuális ICLRTask példány által képviselt feladat már nem működik. |
YieldTask metódus | Azt kéri, hogy a CLR tegye elérhetővé a processzoridőt más feladatok számára. A CLR nem garantálja, hogy a feladat olyan állapotba kerül, amelyben feldolgozási időt eredményezhet. |
Megjegyzések
Az an ICLRTask
a CLR feladatának ábrázolása. A kódvégrehajtás során a feladatokat futtatásként vagy futtatásra váróként is le lehet írni. A gazdagép meghívja a ICLRTask::SwitchIn
metódust, hogy értesítse a CLR-t arról, hogy az aktuális ICLRTask
példány által képviselt feladat most működőképes állapotban van. A hívás ICLRTask::SwitchIn
után a gazdagép bármilyen operációsrendszer-szálon ütemezheti a feladatot, kivéve azokat az eseteket, amikor a futtatókörnyezet szál-affinitást igényel az IHostTaskManager::BeginThreadAffinity és az IHostTaskManager::EndThreadAffinity metódusok által megadott módon. Később az operációs rendszer dönthet úgy, hogy eltávolítja a feladatot a szálból, és nem futó állapotba helyezi. Ez például akkor fordulhat elő, ha a feladat letiltja a szinkronizálási primitíveket, vagy megvárja az I/O-műveletek befejezését. A gazdagép meghívja a SwitchOutot , hogy értesítse a CLR-t arról, hogy az aktuális ICLRTask
példány által képviselt feladat már nem működik.
A feladatok általában a kódvégrehajtás végén fejeződnek be. Ekkor a gazdagép meghívja ICLRTask::ExitTask
, hogy semmisítse meg a társítottat ICLRTask
. A feladatok azonban újra felhasználhatók a hívással ICLRTask::Reset
is, amely lehetővé teszi a ICLRTask
példány újbóli használatát. Ez a megközelítés megakadályozza a példányok ismételt létrehozásának és megsemmisítésének többletterhelését.
Követelmények
Platformok: Lásd: Rendszerkövetelmények.
Fejléc: MSCorEE.h
Könyvtár: Erőforrásként szerepel a MSCorEE.dll
.NET-keretrendszer verziók: 2.0 óta érhető el
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: