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;
}
}
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的。