论坛首页 入门技术论坛

Singlton ture or not?

浏览 3006 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-07-03  

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


   发表时间:2007-07-04  
第二种去掉synchronized呢?
public class Singleton {
  private static Singleton instance = null;
        public static Singleton getInstance() {
                if (instance==null)
           instance=new Singleton();
          return instance;   
        }
}
0 请登录后投票
   发表时间: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了
0 请登录后投票
   发表时间:2007-07-04  
第二种如果去掉synchronized,就不是线程安全的,应该就不是Singleton的。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics