*/
//饿汉式。
/*
class Single
{
private static final Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
*/
//懒汉式
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)//为什么
{
synchronized(Single.class)
{
if(s==null)
//为什么
s = new Single();
}
}
return s;
}
}
这是毕老师在第十一天的代码关于单例设计模式的,请问懒汉式中为什么要用双重判断啊作者: 叶征东 时间: 2012-9-14 08:24
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)//为什么-----------(1)
{
synchronized(Single.class)
{
if(s==null)
//为什么-------------(2)
s = new Single();
}
}
return s;
}
}这是毕老师在第十一天的代码关于单例设计模式的,请问懒汉式中为什么要用双重判断啊