Udostępnij przez


Zdarzenia obsługi oczekiwania środowiska uruchomieniowego platformy .NET

Zdarzenia obsługi oczekiwania w czasie wykonywania przechwytują informacje o uchwytach oczekiwania. Mogą być przydatne do zbadania problemów z głodem puli wątków. Aby uzyskać więcej informacji na temat używania tych zdarzeń do celów diagnostycznych, zobacz Rejestrowanie i śledzenie aplikacji platformy .NET

Zdarzenie WaitHandleWaitStart

To zdarzenie jest emitowane na początku operacji oczekiwania na dojściu oczekiwania. Oto niewyczerpująca lista metod zarządzanych, które mogą emitować to zdarzenie:

  • Monitor.Wait
  • Monitor.Enter lub słowo kluczowe blokady języka C#
  • ManualResetEvent.WaitOne
  • Task.Wait
Słowo kluczowe do zgłaszania zdarzenia poziom
WaitHandleKeyword (0x40000000000) Pełne (5)

W poniższej tabeli przedstawiono informacje o zdarzeniach.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
WaitHandleWaitStart 301 Rozpoczyna się oczekiwanie.
Nazwa pola Typ danych Opis
WaitSource win:UInt8 0x0 - Inne źródła.

0x1 - Oczekiwanie pochodzi z kodu zarządzanego Monitor.Wait za pośrednictwem metody .
AssociatedObjectID win:Pointer Adres skojarzonego obiektu (na przykład adres obj w kodzie lock(obj) {}).
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.

Zdarzenie WaitHandleWaitStop

To zdarzenie jest emitowane na końcu operacji oczekiwania na dojściu oczekiwania.

Słowo kluczowe do zgłaszania zdarzenia poziom
WaitHandleKeyword (0x40000000000) Pełne (5)

W poniższej tabeli przedstawiono informacje o zdarzeniach.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
WaitHandleWaitStop 302 Zatrzymuje się oczekiwanie.
Nazwa pola Typ danych Opis
ClrInstanceID win:UInt16 Unikatowy identyfikator wystąpienia coreCLR.