.NET 运行时争用事件

这些运行时事件使用 Monitor.Enter 或 C# 锁关键字等捕获有关监视器锁争用的信息。 有关如何将这些事件用于诊断的详细信息,请参阅对 .NET 应用程序进行日志记录和跟踪

ContentionStart_V2 事件

在监视器锁争用开始时发出此事件。

引发事件的关键字 Level
ContentionKeyword (0x4000) 信息性 (4)

下表显示了事件信息。

事件 事件 ID 在发生以下情况时引发
ContentionStart_V2 81 监视器锁争用开始。
字段名 数据类型 说明
Flags win:UInt8 0 表示托管;1 表示本机。
ClrInstanceID win:UInt16 CoreCLR 实例的唯一 ID。
LockObjectID win:Pointer 锁定对象的地址。
LockOwnerThreadID win:Pointer 拥有锁定的线程的地址。

ContentionStop_V1 事件

在监视器锁争用结束时发出此事件。

引发事件的关键字 Level
ContentionKeyword (0x4000) 信息性 (4)

下表显示了事件信息。

事件 事件 ID 在发生以下情况时引发
ContentionStop_V1 91 监视器锁争用结束。
字段名 数据类型 说明
Flags win:UInt8 0 表示托管;1 表示本机。
ClrInstanceID win:UInt16 CoreCLR 实例的唯一 ID。
DurationNs win:Double 争用的持续时间(以纳秒为单位)。