package SingleInstanceModel; /** * Created by JYM on 2019/1/8 * 单例模式:懒汉式+同步方法 * 懒汉式的方式可以保证实例的懒加载,但无法保证实例的唯一性。*/ //final不允许被继承 public final class Singleton_2 { //实例变量 private byte[] data = new byte[1024]; private static Singleton_2 instance = null; private Singleton_2() {} //向getInstance方法加入同步控制,每次只能有一个线程能够进入 public static synchronized Singleton_2 getInstance() { if (null == instance) { instance = new Singleton_2(); } return instance; } } /** * 采用懒汉式+数据同步的方式既满足了懒加载又能够百分之百地保证instance实例的唯一性,但是synchronized关键字 * 天生的排他性导致了getInstance方法只能在同一时刻被一个线程所访问,性能低下。 * */
单例设计模式的设计——懒汉式+同步方法
最新推荐文章于 2023-08-09 10:48:47 发布