爭用 ETW 事件
每當發生 System.Threading.Monitor 鎖定的爭用或執行階段所使用之原生鎖定的爭用時,就會引發爭用事件。 當某個執行緒正在等候鎖定,而另一個執行緒處理此鎖定時,就會發生爭用。
下表會說明引發事件的關鍵字,以及事件的層級: 如需詳細資訊,請參閱 CLR ETW 關鍵字和層級。
引發事件的關鍵字 |
層級 |
---|---|
ContentionKeyword (0x4000) |
告知性 (4) |
下表顯示事件資訊。
事件 |
事件識別碼 |
引發時機 |
---|---|---|
ContentionStart_V1 |
81 |
爭用開始。 此事件不會包括執行緒等候以取得鎖定之前的空轉時間量。只有當執行緒等候以取得鎖定時,才會引發此事件。 |
ContentionStop |
81 |
爭用資料結束。 |
下表顯示事件資料。
欄位名稱 |
資料型別 |
說明 |
---|---|---|
Flags |
win:UInt8 |
0 代表 Managed,而 1 代表原生。 |
ClrInstanceID |
win:UInt16 |
CLR 執行個體的唯一 ID。 |