2012-04-14 35 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); 
}