Volatile instance java
Здравствуйте.
Такой вопрос: имеется инстанс синглтона класса SomeClass.
Нужно ли помечать volatile коллекцию clients?
Нужно ли помечать volatile переменные внутри класса Client?
public class SomeClass {
private static volatile SomeClass instance;
private /*volatile*/ ConcurrentHashMap<String,Client> clients = new ConcurrentHashMap<String,Client>();
public static SomeClass getInstance() {
if (instance == null) {
synchronized (SomeClass.class) {
if (instance == null) {
instance = new SomeClass();
}
}
}
return instance;
}
Источник: Stack Overflow на русском