Каркас безопасности потока
Следующий класс не является потокобезопасным (как доказано вДоказательство следующего кода не является потокобезопасным )
Существует ли какая-либо инфраструктура, которая может помочь с анализом времени компиляции / времени выполнения и сказать нам, что следующее не является потокобезопасным?
Что касается времени компиляции, в идеале в Eclipse появляется волнистое подчеркивание и говорит нам, что класс не является потокобезопасным?
Во время выполнения любой статический анализ кода обнаружит, что класс не является потокобезопасным?
public class LazyInitRace {
private ExpensiveObject instance = null;
public ExpensiveObject getInstance() {
if (instance == null)
instance = new ExpensiveObject();
return instance;
}
}