//饿汉式,在多线程下是安全的 public class Single { private static final Single s=new Single(); private Single(){}; public static Single getInstance(){ return s; } }
//懒汉式,非线程安全,必须使用同步 public class Single { private static Single s=null; private Single(){}; public static Single getInstance(){ if(s==null) synchronized(Single.class){//静态同步,锁是方法所在类的字节码文件对象 if(s==null) s=new Single(); } return s; } }
本文详细介绍了单例模式的两种实现方式:饿汉式和懒汉式。饿汉式实现简单,天然支持多线程;懒汉式则在需要时才创建实例,但必须通过同步来保证线程安全。
791

被折叠的 条评论
为什么被折叠?



