Czy słowo kluczowe synchronizuj musi być zastosowane do każdej metody klasy implementującej wzorzec singletowy?Synchronizacja Java w pojedynczym wzorze
public class Singleton {
private Singleton(){}
public synchronized static Singleton getInstance()
{
if(instance == null)
instance = new Singleton();
return instance;
}
public void DoA(){
}
}
Od Singletons nie wystawiać konstruktora publicznego i metody getInstance() jest zsynchronizowane, nie trzeba synchronizować metody DOA i wszelkie inne metody publiczne odsłonięte przez klasę Singleton.
Czy to rozumowanie jest prawidłowe?
En ogóle sychronization zależy czy masz dostęp do współdzielonych danych w metodzie. – PeterMmm
[To powinno odpowiedzieć na twoje pytanie] (http://stackoverflow.com/questions/777849/proper-usage-of-synchronized-singleton) – user1406177
Nie sądzę, jeśli getInstance jest zsynchronizowane. to nie znaczy, że DoA jest zsynchronizowane. także. –