2012-04-14 70 views
5

在Java中,ThreadMXBean和ThreadInfo通過線程在運行時保留的鎖請求信息。如何在運行時用C#請求線程的鎖定和死鎖?

這也可以用C#嗎?如果是,我該怎麼辦?

+1

看看這個教程調試死鎖:http://blogs.msdn.com/b/mohamedg/archive/2010/01/29/如何調試死鎖 - 使用windbg.aspx – 2012-04-14 21:59:47

+0

這是調試死鎖的堅實鏈接。 – 2012-04-16 15:05:55

+0

這個問題在開發者系統中不是可重現的死鎖。如果出現問題,目標是登錄客戶系統。 – Horcrux7 2012-04-16 16:18:43

回答

1

在C#中沒有運行時等效項。 如果你需要跟蹤它,你需要實現你自己的包裝。 如果您的應用程序對鎖定敏感,請考慮使用Monitor.TryEnter超時。

lock (object) { // Synchronized code }

轉化爲,

try 
{ 
    Monitor.Enter(object); 
} 
finally 
{ 
    Monitor.Exit(object); 
}