Olası Çoğalt:
Efficient way to implement singleton pattern in Javaİş parçacığı güvenli Java'da tekil desen uygulamak için etkili bir yol?
Bu Best Singleton Implementation In Java okuyordu, ama onun iş parçacığı güvenli değil. wiki gereğince
: 1. Çift boş çek:
if(singleton==null) { synchronized(Singleton.class) { // this is needed if two threads are waiting at the monitor at the // time when singleton was getting instantiated if(singleton==null) singleton= new Singleton(); }
}
Ama Bugs programı bul Bu iki hatalar veriyor. 2. Statik alanın yanlış temsili başlatması.
synchronized (Singleton.class) { if (singleton== null) { singleton= new Singleton(); } }
Bu, yukarıdaki sorunun kopyasıdır; detaylar için bu soruya bakın. Ama bu sorunun bu yararlı bağlantılara sahip olduğundan emin değilim, bu yüzden: [Java'da çift kontrol kilitleme hakkında] (http://www.ibm.com/developerworks/java/library/j-dcl.html) [bunlar] (http://www.ibm.com/developerworks/library/j-jtp02244.html) [iki] (http://www.ibm.com/developerworks/library/j-jtp03304/) Java için güncellemeler 5. Ayrıca [Vikipedi'nin çift kilitlemeli kilitleme hakkındaki makalesine bakın] (http://en.wikipedia.org/wiki/Double-checked_locking). Ancak sorunuza verilen gerçek cevap için, yukarıda bağlantılı soruya bakın. –