多线程环境单例模式
多线程环境单例模式 : 双重检测+上锁public class Singleton {/**
* 构造器私有化防止被公共创建
*/
private Singleton() {}//创建多线程锁
private static Object lock = new Object();
//单例本体
private static Singleton singleton = null;
//获取单例
public static Singleton getInstance() {//当多线程环境中单例本体为空
if (singleton == null) {//上锁防止被其他线程抢夺
synchronized (lock) {//双重检查更加安全和符合业务场景
if (singleton == null) {//加锁和双重检测后初始化单例
singleton = new Singleton();
}
}
}//返回单例结果
return singleton;
}
}
推荐阅读
- mac使用Charles抓包安卓app环境搭建
- 图解python|图解python | 安装与环境设置
- 漫谈生活|碎碎念--2022,请多指教
- java中main函数你知道多少
- Android|实例说明 Android 多线程、多进程与全局变量之间的关系
- Docker搭建springcloud和分布式环境
- 【21天自律营】日更DAY|【21天自律营】日更DAY 3
- 梦想与现实的距离,到底有多远()
- 我们拥有越多,就离得越远。
- 回归|回归 2018-04-07