ICLRTask2-interface
Biedt alle functionaliteit van de ICLRTask-interface ; biedt bovendien methoden waarmee het afbreken van threads op de huidige thread kan worden vertraagd.
Methoden
Methode | Beschrijving |
---|---|
Methode BeginPreventAsyncAbort | Hiermee worden aanvragen voor het afbreken van nieuwe threads in de huidige thread vertraagd. |
Methode EndPreventAsyncAbort | Hiermee kunnen nieuwe of openstaande aanvragen voor threadafgebroken worden, zodat threads worden afgebroken in de huidige thread. |
Opmerkingen
De ICLRTask2
interface neemt de ICLRTask
interface over en voegt methoden toe waarmee de host het afbreken van threads kan vertragen om een codegebied te beveiligen dat niet mag mislukken. Als u aanroept BeginPreventAsyncAbort
, wordt de teller delay-thread-abort voor de huidige thread verhoogd en wordt deze aangeroepen EndPreventAsyncAbort
. Aanroepen naar BeginPreventAsyncAbort
en EndPreventAsyncAbort
kunnen worden genest. Zolang de teller groter is dan nul, worden threadafgebroken voor de huidige thread vertraagd.
Als aanroepen naar BeginPreventAsyncAbort
en EndPreventAsyncAbort
niet zijn gekoppeld, is het mogelijk om een status te bereiken waarin threadafgebroken verbindingen niet kunnen worden geleverd aan de huidige thread.
De vertraging wordt niet gehonoreerd voor een thread die zichzelf afbreekt.
De functionaliteit die door deze functie beschikbaar wordt gemaakt, wordt intern gebruikt door de virtuele machine (VM). Misbruik van deze methoden kan leiden tot niet-opgegeven gedrag in de VM. Als u bijvoorbeeld aanroept EndPreventAsyncAbort
zonder eerst aan te roepen BeginPreventAsyncAbort
, kan de teller op nul worden ingesteld wanneer de VM deze eerder heeft verhoogd. Op dezelfde manier wordt de interne teller niet gecontroleerd op overloop. Als deze de integrale limiet overschrijdt omdat deze wordt verhoogd door zowel de host als de VM, is het resulterende gedrag niet opgegeven.
Zie de ICLRTask-interface voor informatie over leden die zijn overgenomen van ICLRTask
en over de andere toepassingen van deze interface.
Vereisten
Platforms: Zie Systeemvereisten.
Header: MSCorEE.h
Bibliotheek: Opgenomen als een resource in MSCorEE.dll
.NET Framework versies: beschikbaar sinds 4