(如Proving the following code not thread safe證明)下面的類不是線程安全的線程安全框架
是否有一個框架在那裏,可以用編譯時/運行時分析幫助,並告訴我們,下面是不是線程安全?
對於編譯時,理想情況下在Eclipse中會出現擺動下劃線,並告訴我們該類不是線程安全的?
對於運行時,任何靜態代碼分析都會將該類捕獲爲非線程安全的類?
public class LazyInitRace {
private ExpensiveObject instance = null;
public ExpensiveObject getInstance() {
if (instance == null)
instance = new ExpensiveObject();
return instance;
}
}
FindBugs有一個完整的「多線程正確性」類別。 – 2010-03-11 07:52:22
我猜FindBugs是目前最好的選擇。 – portoalet 2010-03-15 06:01:46