证明以下代码不是线程安全的
2022-09-05 00:32:02
如何通过编写一些代码快速证明以下类不是线程安全的(因为它使用惰性初始化而不是使用同步)?换句话说,如果我正在测试以下类的线程安全性,我怎么能失败呢?
public class LazyInitRace {
private ExpensiveObject instance = null;
public ExpensiveObject getInstance() {
if (instance == null)
instance = new ExpensiveObject();
return instance;
}
}