Freigeben über


ICLRTask2-Schnittstelle

Stellt alle Funktionen der ICLRTask-Schnittstelle und außerdem Methoden bereit, die das Verzögern von Threadabbrüchen für den aktuellen Thread ermöglichen.

Methoden

Methode

Beschreibung

ICLRTask2::BeginPreventAsyncAbort-Methode

Verzögert neue Threadabbruchanforderungen für den aktuellen Thread.

ICLRTask2::EndPreventAsyncAbort-Methode

Ermöglicht, dass neue oder ausstehende Threadabbruchanforderungen zu Threadabbrüchen für den aktuellen Thread führen.

Hinweise

Die ICLRTask2-Schnittstelle erbt die ICLRTask-Schnittstelle und fügt Methoden hinzu, die es dem Host ermöglichen, Threadabbrüche zu verzögern, um einen Bereich von Code zu schützen, der nicht fehlschlagen darf. Durch den Aufruf von BeginPreventAsyncAbort wird der Zähler für die Verzögerung des Threadabbruchs des aktuellen Threads erhöht, und durch den Aufruf von EndPreventAsyncAbort wird der Zähler verringert. Aufrufe von BeginPreventAsyncAbort und EndPreventAsyncAbort können geschachtelt werden. Solange der Zähler größer als 0 (null) ist, werden Threadabbrüche für den aktuellen Thread verzögert.

Wenn Aufrufe von BeginPreventAsyncAbort und EndPreventAsyncAbort nicht einander zugeordnet sind, kann ein Zustand erreicht werden, in dem Threadabbrüche nicht an den aktuellen Thread übermittelt werden können.

Die Verzögerung wird für einen Thread, der sich selbst abbricht, nicht berücksichtigt.

Die Funktionalität, die von dieser Funktion verfügbar gemacht wird, wird intern vom virtuellen Computer (VM) verwendet. Die nicht ordnungsgemäße Verwendung dieser Methoden verursacht möglicherweise nicht definiertes Verhalten in der VM. Beispielsweise kann durch Aufrufen von EndPreventAsyncAbort ohne vorhergehenden Aufruf von BeginPreventAsyncAbort der Zähler auf 0 (null) festgelegt werden, wenn dieser zuvor von der VM erhöht wurde. Entsprechend wird der interne Zähler nicht auf einen Überlauf überprüft. Wenn er die Grenze für ganze Zahlen überschreitet, weil er sowohl vom Host als auch von der VM erhöht wird, ist das daraus folgende Verhalten undefiniert.

Informationen zu Membern, die von ICLRTask geerbt werden, und zu anderen Verwendungsmöglichkeiten dieser Schnittstelle finden Sie unter der ICLRTask-Schnittstelle.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4

Siehe auch

Referenz

ICLRTask-Schnittstelle

ICLRTaskManager-Schnittstelle

IHostTask-Schnittstelle

IHostTaskManager-Schnittstelle

Weitere Ressourcen

Hostingschnittstellen