Java / Design Patterns
What is double checked locking in Singleton?
Double-checked locking prevents creating a duplicate instance of Singleton when call to getInstance() method is made in a multi-threading environment. In Double checked locking pattern as shown in below example, singleton instance is checked two times before initialization.
public class Singleton{ private static Singleton _INSTANCE; public static Singleton getInstance() { if(_INSTANCE==null) { synchronized(Singleton.class){ // double checked locking inside synchronized block if(_INSTANCE==null){_INSTANCE=new Singleton();} } } return _INSTANCE; } }
More Related questions...