单例模式,懒汉和饿汉模式的区别以及实现方法

1.单例模式

单例模式是一种"经典的,常用的,常考的"设计模式。那么什么是设计模式?

IT行业这么火,涌入的人很多,俗话说林子大了啥鸟都有,大佬的菜鸟们两极分化越来越严重,为了让菜鸟们不太拖大佬们的后腿,于是大佬们针对一些经典的常见的场景,给定了一些对应的解决方案,这个就是设计模式。

单例模式的特点:某些类,只应该具有一个对象(实例),就称之为单例。

在很多服务器开发场景中,经常让服务器加载很多的数据(上百G)到内存中,此时往往要用一个单例的类来管理这些数据。

2.饿汉模式和懒汉模式的区别

举一个生活中例子:

1.饿汉模式:吃完饭立刻洗完,这样下次吃饭立刻有碗吃饭。

2.懒汉模式:吃完饭后不洗碗,等要下次吃饭的时候再洗碗。

懒汉模式的核心思想就是"延迟加载",从而能够优化服务器的启动速度。(最简单的例子就是,我们申请空间的时候,只在页表中开辟了虚拟地址,等到用的时候,发生缺页中断,然后再开辟物理空间给我们)

实现的模拟代码:

懒汉模式的单例模式存在一个严重的问题,就是第一调用GetInstance的时候如果两个线程同时调用就会创造两份:

3.用我之前的代码实现一个懒汉模式

Linux线程池-CSDN博客

相关推荐
苦逼大学生被编程薄纱1 小时前
Ext 文件系统基础:Linux 存储基石入门(下)
linux·运维·服务器
Lumos_7771 小时前
Linux -- 进程
linux·运维·服务器
南境十里·墨染春水2 小时前
linux学习进展 进程间通讯——共享内存
linux·数据库·学习
小此方2 小时前
Re:Linux系统篇(五)指令篇 ·四:shell外壳程序及其工作原理
linux·运维·服务器
其实防守也摸鱼2 小时前
sqlmap下载和安装保姆级教程(附安装包)
linux·运维·服务器·测试工具·渗透测试·攻防·护网行动
jingyu飞鸟3 小时前
Linux系统发送邮件,解决信誉等级低问题 docker compose修改启动一键使用
linux·运维·docker
Lumos_7773 小时前
Linux -- exec 进程替换
linux·运维·chrome
ElfBoard4 小时前
飞凌精灵(ElfBoard)技术贴|如何在RK3506开发板上实现UART功能复用
大数据·linux·人工智能·驱动开发·单片机·嵌入式硬件·物联网
HackTorjan4 小时前
AI驱动的制品库高效管理:智能分类、自动化追踪与全生命周期优化
linux·人工智能·分类·自动化
.千余4 小时前
【Linux】进程概念
linux·服务器·开发语言·学习