社区
宋红康的课程社区_NO_1
图解Java设计模式(一)
帖子详情
单例(线程不安全懒汉式)
尚硅谷宋红康
2023-01-12 14:49:12
课时名称
课时知识点
单例(线程不安全懒汉式)
单例(线程不安全懒汉式)
...全文
99
回复
打赏
收藏
单例(线程不安全懒汉式)
课时名称课时知识点单例(线程不安全懒汉式)单例(线程不安全懒汉式)
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
单例
设计模模
式
——
懒汉
式
为什么
线程
不
安全
单例
设计模
式
分为两种饿汉
式
,
懒汉
式
无论哪一种,思想就三步,0;就一个实例,则不能被实例化,所有构造函数私有的1:提供一个实例2:提供一个供外部访问的方法
懒汉
式
线程
不
安全
,那为什么不
安全
呢?看代码!!! 假设开始
线程
0进入,判断instance为空,在将要创建实例时,cpu切换,
线程
1又进来了,同样instance为空 创建了实例,这是cpu切换回来到0
线程
,继续创建实例 可见,
单例
(
线程
不
安全
懒汉
式
)
单例
(
线程
不
安全
懒汉
式
)
懒汉
式
和饿汉
式
单例
模
式
以及解决
单例
的
线程
不
安全
懒汉
式
和饿汉
式
是两种常见的
单例
模
式
实现方
式
,它们分别在不同情况下进行
单例
对象的初始化。
线程
不
安全
懒汉
式
单例
:从原理到C++/Python
安全
改造
设计模
式
中的
单例
模
式
旨在确保一个类在进程生命周期内只存在一个实例,并对外提供全局访问点,常用于配置管理、日志器、连接池等资源敏感场景。
懒汉
式
作为
单例
的一种经典实现,通过延迟实例化来避免启动开销,但首次并发访问时的非原子检查与创建操作会引入
线程
安全
风险,轻则创建多个实例,重则导致内存可见性问题。C++与Python中朴素写法的隐患根源相同,区别仅在于触发难度。为解决这一经典并发问题,可选用加互斥锁、双检锁或C++11静态局部变量等改造方案,在正确性与性能之间取得平衡。理解
懒汉
式
单例
的缺陷及其修复思路,有助于在
不使用锁解决
懒汉
式
单例
线程
安全
问题
先来看常见的使用锁解决
懒汉
式
单例
线程
安全
问题的例子 /** * @author ZJX * @date 2021/10/8 * @description */ public class LazySingleton { public static User user; public static User superUser(){ if(user == null) { //这里可以不直接锁User类,可以在当前类添加个变量,锁变量。
宋红康的课程社区_NO_1
2
社区成员
208
社区内容
发帖
与我相关
我的任务
宋红康的课程社区_NO_1
专注于一线互联网公司IT招聘笔试、面试,最新技术与行业动态
复制链接
扫一扫
分享
社区描述
专注于一线互联网公司IT招聘笔试、面试,最新技术与行业动态
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章