运行时等待句柄事件捕获有关等待句柄的信息。 它们可用于调查线程池饥饿问题。 有关如何将这些事件用于诊断目的的详细信息,请参阅 日志记录和跟踪 .NET 应用程序
WaitHandleWaitStart 事件
此事件在等待句柄的等待作开始时发出。 下面是可发出此事件的托管方法的非详尽列表:
Monitor.Wait-
Monitor.Enter或 C# lock 关键字 ManualResetEvent.WaitOneTask.Wait
| 引发事件的关键字 | 级别 |
|---|---|
WaitHandleKeyword (0x40000000000) |
详细 (5) |
下表显示了事件信息。
| 事件 / 活动 | 事件编号 | 在 |
|---|---|---|
WaitHandleWaitStart |
301 | 等待开始。 |
| 字段名称 | 数据类型 | DESCRIPTION |
|---|---|---|
WaitSource |
win:UInt8 |
0x0 - 其他源。0x1 - 等待源自通过 Monitor.Wait 该方法的托管代码。 |
AssociatedObjectID |
win:Pointer |
关联对象的地址(例如代码obj中的地址lock(obj) {})。 |
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |
WaitHandleWaitStop 事件
此事件在等待句柄的等待作结束时发出。
| 引发事件的关键字 | 级别 |
|---|---|
WaitHandleKeyword (0x40000000000) |
详细 (5) |
下表显示了事件信息。
| 事件 / 活动 | 事件编号 | 在 |
|---|---|---|
WaitHandleWaitStop |
302 | 等待停止。 |
| 字段名称 | 数据类型 | DESCRIPTION |
|---|---|---|
ClrInstanceID |
win:UInt16 |
CoreCLR 实例的唯一 ID。 |