Freigeben über


.NET-Runtime-Wait-Handle-Ereignisse

Laufzeit-Wait-Handle-Ereignisse erfassen Informationen zu Wartehandles. Sie können hilfreich sein, um Probleme mit dem Starvation-Threadpool zu untersuchen. Weitere Informationen zur Verwendung dieser Ereignisse für Diagnosezwecke finden Sie unter Protokollierung und Ablaufverfolgung von .NET-Anwendungen.

WaitHandleWaitStart-Ereignis

Dieses Ereignis wird am Anfang eines Wartevorgangs auf einem Wartehandle ausgegeben. Hier ist eine nicht erschöpfende Liste der verwalteten Methoden, die dieses Ereignis ausgeben können:

  • Monitor.Wait
  • Monitor.Enter oder das Schlüsselwort "C#-Sperre"
  • ManualResetEvent.WaitOne
  • Task.Wait
Schlüsselwort zum Auslösen des Ereignisses Niveau
WaitHandleKeyword (0x40000000000) Ausführlich (5)

Die folgende Tabelle zeigt Ereignisinformationen.

Ereignis Ereignis-ID Wird ausgelöst, wenn
WaitHandleWaitStart 301 Eine Wartezeit beginnt.
Feldname Datentyp BESCHREIBUNG
WaitSource win:UInt8 0x0 - Andere Quellen.

0x1 – Die Wartezeit stammt aus verwaltetem Code über die Monitor.Wait Methode.
AssociatedObjectID win:Pointer Adresse des zugeordneten Objekts (z. B. Adresse des obj Codes lock(obj) {}).
ClrInstanceID win:UInt16 Eindeutige ID für die Instanz von CoreCLR.

WaitHandleWaitStop-Ereignis

Dieses Ereignis wird am Ende eines Wartevorgangs auf einem Wartehandle ausgegeben.

Schlüsselwort zum Auslösen des Ereignisses Niveau
WaitHandleKeyword (0x40000000000) Ausführlich (5)

Die folgende Tabelle zeigt Ereignisinformationen.

Ereignis Ereignis-ID Wird ausgelöst, wenn
WaitHandleWaitStop 302 Eine Wartezeit wird angehalten.
Feldname Datentyp BESCHREIBUNG
ClrInstanceID win:UInt16 Eindeutige ID für die Instanz von CoreCLR.