【发布时间】:2012-01-18 05:15:26
【问题描述】:
我有一个 C# 中的多线程程序。在实践中防止死锁的最佳方法是什么?
是时间锁吗?
另外,什么是帮助检测和防止死锁的最佳工具?
非常感谢。
【问题讨论】:
-
只有一个好工具,就是你耳朵之间的那个。检测它从来都不是难事。
-
避免死锁的最好方法是不使用锁!做不到这一点,请谨慎使用!有一些经验法则会有所帮助,例如始终以相同的顺序获取。
-
Priority inversion 也应在设计中加以考虑。
标签: c# multithreading