Compartilhar via


Eventos de identificador de espera do runtime do .NET

Eventos de manipulação de espera em tempo de execução capturam informações sobre identificadores de espera. Eles podem ser úteis para investigar problemas de fome no pool de threads. Para obter mais informações sobre como usar esses eventos para fins de diagnóstico, consulte registro em log e rastreamento de aplicativos .NET

Evento WaitHandleWaitStart

Esse evento é emitido no início de uma operação de espera em um identificador de espera. Aqui está uma lista não completa do método gerenciado que pode emitir este evento:

  • Monitor.Wait
  • Monitor.Enter ou a palavra-chave de bloqueio C#
  • ManualResetEvent.WaitOne
  • Task.Wait
Palavra-chave para elevar o evento Nível
WaitHandleKeyword (0x40000000000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Acontecimento ID do evento Gerado quando
WaitHandleWaitStart 301 Uma espera começa.
Nome do campo Tipo de dados Descrição
WaitSource win:UInt8 0x0 - Outras fontes.

0x1 - A espera se originou do código gerenciado por meio do Monitor.Wait método.
AssociatedObjectID win:Pointer Endereço do objeto associado (por exemplo, endereço do obj código lock(obj) {}).
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.

Evento WaitHandleWaitStop

Esse evento é emitido no final de uma operação de espera em um identificador de espera.

Palavra-chave para elevar o evento Nível
WaitHandleKeyword (0x40000000000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Acontecimento ID do evento Gerado quando
WaitHandleWaitStop 302 Uma espera para.
Nome do campo Tipo de dados Descrição
ClrInstanceID win:UInt16 ID exclusiva para a instância do CoreCLR.