关于并发,请高手指教一二
public class Singleton {
private static Singleton instance = null ;
private Singleton(){};
public static Singleton getInstance(){
if(instance!=null)
instance=new Singleton();
return instance;
}
}
如果有多人同时调用getInstance()方法,如何保证只创建一个Singleton对象,并且不牺牲效率?
java不支持双重检查吗?
------解决方案--------------------无论多少人调用getInstance()方法,都只创建一个Singleton对象,所以不存在你所说的保不保证的问题.
你看看这两行代码就知道:
if(instance!=null)
instance=new Singleton();
如果为NULL时,才去创建.