单件模式确保一个类只有一个实例,并提供一个全局访问点。由于比较简单,这里只给出具体代码。

其中volatile用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:

要么无法编写多线程程序,要么编译器失去大量优化的机会。

public class Singleton {
    private volatile static Singleton uniqueInstance;
private Singleton(){} public static Singleton getInstance() { if(uniqueInstance==null) {      synchronized(Singleton.class)      {         if(uniqueInstance==null)        {          uniqueInstance=new Singleton();        }      }    } return uniqueInstance; } }

  

posted on 2014-08-04 09:55  吉大依恋  阅读(226)  评论(0编辑  收藏  举报