如何通过编写一些代码快速证明以下类不是线程安全的(因为它使用了惰性初始化并且没有使用同步)? 换句话说,如果我正在测试以下类的线程安全性,如何让它失败?
public class LazyInitRace {
private ExpensiveObject instance = null;
public ExpensiveObject getInstance() {
if (instance == null)
instance = new ExpensiveObject();
return instance;
}
}