У меня есть вопрос, касающийся многопоточного шаблона Singleton, который я нашел в Википедии.
public final class Singleton {
private static volatile Singleton instance = null;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized(Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
Если синхронизированный блок не был синхронизирован, можно ли двум потокам одновременно создавать 2 объекта?
Мне нужно объяснить использование «синхронизированного» для назначения .
Спасибо и всего наилучшего