【发布时间】:2011-11-27 01:42:08
【问题描述】:
是否有任何自动化工具来检查 C# .NET 代码的线程安全性?
附言它不一定是完美的,但它应该检查可以在编译时检查的明显内容。
【问题讨论】:
-
定义“线程安全”。我真的怀疑一个工具会对此有用。
-
几乎可以肯定是一个重复的问题,但是:CHESS research.microsoft.com/en-us/downloads/…
-
从你的需求列表中“在编译时”从头开始,这个魔法不存在。
-
你能说出“可以在编译时检查的显而易见的事情”之一以及它们与“线程安全”的关系吗?例如:编写一个在编译时检测“lock(this)”用法的工具会很简单。锁定“this”是一种糟糕的编程习惯,但这并不一定会使其线程不安全。什么是“不安全”且在编译时可检测到的示例?
标签: c# .net multithreading thread-safety