读书人

Singlton ture or not

发布时间: 2012-11-10 10:48:51 作者: rapoo

Singlton ture or not?

True

public class Singleton {
??????? private Singleton(){}
??????? private static Singleton instance = new Singleton();
  public static Singleton getInstance() {
    return instance;   
   }
}

?public class Singleton {
  private static Singleton instance = null;
??????? public static synchronized Singleton getInstance() {
?????????????? ?if (instance==null)
    ?????? instance=new Singleton();
  ??????? return instance;   
??????? }
}

?

Not Singleton

public class Singleton {
??????? private Singleton(){}
??????? private static Singleton instance = null;
 ??? public static Singleton getInstance() {
??????????????? instance =new Singleton();
    return instance;   
   }
}


1 楼 daquan198163 2007-07-04 第二种去掉synchronized呢?
public class Singleton {
  private static Singleton instance = null;
public static Singleton getInstance() {
if (instance==null)
     instance=new Singleton();
   return instance;   
}
} 2 楼 liquidthinker 2007-07-04 daquan198163 写道第二种去掉synchronized呢?
public class Singleton {
  private static Singleton instance = null;
public static Singleton getInstance() {
if (instance==null)
     instance=new Singleton();
   return instance;   
}
}


去掉同步,在多线程环境中可能产生不唯一的实例,因此也就不叫做Singleton了 3 楼 cskysnew 2007-07-04 第二种如果去掉synchronized,就不是线程安全的,应该就不是Singleton的。

读书人网 >软件架构设计

热点推荐