单例模式

来源:互联网 发布:美利坚仓储淘宝王无错 编辑:程序博客网 时间:2024/05/29 07:27

单例模式:处理多线程的三种方法

1. 同步方法public class Singleton {    private static Singleton uniqueInstance;    private Singleton() {}    public static synchronized Singleton getInstance() {        if(uniqueInstance==null) {            uniqueInstance=new Singleton();        }        return uniqueInstance;    }}2. 创建"急切"实例public class Singleton {    private static Singleton uniqueInstance=new Singleton();    private Singleton() {}    public static Singleton getInstance() {        return uniquInstance;    }}3. 双重检查加锁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;    }}
0 0
原创粉丝点击