标题: s设置为null和后来判断是否为null的的原因求详解 [打印本页] 作者: 马伟恒 时间: 2012-4-19 16:05 标题: s设置为null和后来判断是否为null的的原因求详解 class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
s = new Single();
return s;
}
} 作者: 张超超 时间: 2012-4-19 16:28
你这个涉及到线程安全的问题,这个好像是单例设计模式。
private static Single s = null;这个设置成null是声明这么一个变量但是他不指向任何值。
if(s==null)这里判断s==null是在多线程运行模式中,能够确保s是没有指向任何值的,是为了线程安全
然后才可以继续赋值: s = new Single();