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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Singleton {
    private volatile static Singleton uniqueInstance;<br>    private Singleton(){}
    public static Singleton getInstance()
    {
        if(uniqueInstance==null)
        {
        synchronized(Singleton.class)
        {
           if(uniqueInstance==null)
           {
             uniqueInstance=new Singleton();
           }
        }
      }
    return uniqueInstance;
    }
}

  

posted on   吉大依恋  阅读(226)  评论(0编辑  收藏  举报
努力加载评论中...

点击右上角即可分享
微信分享提示