Delen via


ICLRTask-interface

Biedt methoden waarmee de host aanvragen van de Common Language Runtime (CLR) kan indienen of om de CLR op de hoogte te stellen van de bijbehorende taak.

Methoden

Methode Beschrijving
Methode Afbreken Vraagt de CLR de taak af te breken die het huidige ICLRTask exemplaar vertegenwoordigt.
Methode ExitTask Hiermee wordt de CLR gewaarschuwd dat de taak die aan het huidige ICLRTask exemplaar is gekoppeld, wordt beƫindigd en wordt geprobeerd de taak probleemloos af te sluiten.
Methode GetMemStats Hiermee haalt u statistische informatie op over het gebruik van geheugenresources op basis van de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar.
Methode LocksHeld Hiermee haalt u het aantal vergrendelingen op dat momenteel is vastgehouden voor de taak.
Methode NeedsPriorityScheduling Hiermee wordt een waarde opgehaald die aangeeft of de host een hoge prioriteit moet toewijzen aan het opnieuw verplaatsen van de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar.
Methode opnieuw instellen Informeert de CLR dat de host een taak heeft voltooid en stelt de CLR in staat om het huidige ICLRTask exemplaar opnieuw te gebruiken om een andere taak weer te geven.
Methode RudeAbort Zorgt ervoor dat de CLR de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar onmiddellijk afbreekt, zonder een garantie dat finalizers worden uitgevoerd.
Methode SetTaskIdentifier Hiermee stelt u een unieke id in voor de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar, voor gebruik bij foutopsporing.
Methode SwitchIn Hiermee wordt aan de CLR gemeld dat de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar, zich in een bedienbare status bevindt.
Methode SwitchOut Hiermee wordt aan de CLR aangegeven dat de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar, zich niet meer in een bedienbare status bevindt.
Methode YieldTask Vraagt de CLR om processortijd beschikbaar te maken voor andere taken. De CLR geeft geen garantie dat de taak in een status wordt geplaatst waarin deze verwerkingstijd kan opleveren.

Opmerkingen

Een ICLRTask is de weergave van een taak voor de CLR. Op elk moment tijdens het uitvoeren van code kan een taak worden beschreven als actief of wachtend op uitvoering. De host roept de ICLRTask::SwitchIn methode aan om de CLR te laten weten dat de taak die het huidige ICLRTask exemplaar vertegenwoordigt, zich nu in een bewerkbare status bevindt. Na een aanroep van ICLRTask::SwitchInkan de host de taak plannen op elke besturingssysteemthread, behalve in gevallen waarin de runtime thread-affiniteit vereist, zoals opgegeven door aanroepen naar de methoden IHostTaskManager::BeginThreadAffinity en IHostTaskManager::EndThreadAffinity . Enige tijd later kan het besturingssysteem besluiten om de taak uit de thread te verwijderen en deze in een niet-actieve status te plaatsen. Dit kan bijvoorbeeld gebeuren wanneer de taak de synchronisatieprimitief blokkeert of wacht tot I/O-bewerkingen zijn voltooid. De host roept SwitchOut aan om de CLR te laten weten dat de taak die wordt vertegenwoordigd door het huidige ICLRTask exemplaar niet meer in een beveiligbare status is.

Een taak wordt meestal beƫindigd aan het einde van de code-uitvoering. Op dat moment roept ICLRTask::ExitTask de host aan om de bijbehorende ICLRTaskte vernietigen. Taken kunnen echter ook worden gerecycled met behulp van een aanroep van ICLRTask::Reset, waardoor het ICLRTask exemplaar opnieuw kan worden gebruikt. Deze benadering voorkomt de overhead van het herhaaldelijk maken en vernietigen van exemplaren.

Vereisten

Platforms: Zie Systeemvereisten.

Header: MSCorEE.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 2.0

Zie ook