singleton 线程安全的singleton

来源:互联网 发布:aide java if条件语句 编辑:程序博客网 时间:2024/04/26 10:25
/** * Created by tangtang on 15/6/21.  枚举类型的singleton  类名写错了 别在意  这应该是最好的单例模式了
 */public enum SingleTon {    INSTANC;    public void methodXXX()    {        System.out.print("is a method");    }}
/** * Created by tangtang on 15/6/21. * 饿汉模式的单例 */public class SingleTon2 {    private static SingleTon2 instance=new SingleTon2();    private SingleTon2(){}    public static SingleTon2 getIntance()    {        return instance;    }}

/** * Created by tangtang on 15/6/21. * 饥汉模式  要完成双检索 */public class SingleTon3 {    private static SingleTon3 s = null;    private SingleTon3(){}    public static  SingleTon3 getInstance(){        /*如果第一个线程获取到了单例的实例对象,         * 后面的线程再获取实例的时候不需要进入同步代码块中了*/        if(s == null){            //同步代码块用的锁是单例的字节码文件对象,且只能用这个锁            synchronized(SingleTon3.class){                if(s == null){                    s = new SingleTon3();                }            }        }        return s;    }}

0 0