Dyskusja:Wzorzec singletonu
Z Wikipedii
podany sposob jest nieoptymlany poniewaz KAZDY dostep do instancji jest sychchronizowany, a co za tym idzie niesie spory narzut.
bardziej wydajnie jest sprawdzac czy isteje podejrzenie, ze instacja nie jest jeszcze utworzona, a nastepnie w spob synchronizowany sie o tym upewnic:
public class Singleton {
private static Singleton instance = null; public static Singleton getInstance() { if (instance == null){ synchronized(Singleton.class){ if (instance == null){ instance = new Singleton(); } } } return instance; } // Deklaracja prywatnego konstruktora - zastępuje domyślny konstruktor publiczny private Singleton() {}
}
Sławomir Sobótka