Megosztás a következőn keresztül:


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::SwitchInutá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::Resetis, 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