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-03-10 15:41:36 发布
202

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



