设计模式学习笔记02(小滴课堂)

江湖传言里的设计模式-单例设计模式

单例设计模式中的懒汉方式实战

这种方式是线程不安全的,多个线程同时调用会创建多个对象。

所以我们就要给它加锁:

我们去测试一下:

因为构造函数已经私有化,所以不能直接用new的方式去创建对象。

现在我们使用第二种方式,通过加锁:

这第三种方式,如果同时两个线程都过来了,但是都释放锁,也无法保证绝对单例,那如何保证多线程下的单例呢?

单例模式中的懒汉实现+双重检查锁定+内存模型

改进:

单例设计模式中的饿汉方式实战

相关推荐
小狗爱吃黄桃罐头1 小时前
正点原子【第四期】Linux之驱动开发学习笔记-10.1 Linux 内核定时器实验
linux·驱动开发·学习
卡提西亚1 小时前
一本通网站1122题:计算鞍点
c++·笔记·编程题·一本通
im_AMBER1 小时前
Leetcode 47
数据结构·c++·笔记·学习·算法·leetcode
BreezeJuvenile2 小时前
外设模块学习(17)——5V继电器模块(STM32)
stm32·单片机·嵌入式硬件·学习·5v继电器模块
一个数据大开发2 小时前
【零基础一站式指南】Conda 学习环境准备与 Jupyter/PyCharm 完全配置
学习·jupyter·conda
希露菲叶特格雷拉特2 小时前
PyTorch深度学习笔记(二十)(模型验证测试)
人工智能·pytorch·笔记
lingggggaaaa4 小时前
小迪安全v2023学习笔记(一百四十五讲)—— Webshell篇&魔改冰蝎&打乱特征指纹&新增加密协议&过后门查杀&过流量识别
笔记·学习·安全·魔改冰蝎·免杀对抗·免杀技术
Digitally5 小时前
如何将iPhone上的笔记传输到电脑
笔记·电脑·iphone
落羽的落羽5 小时前
【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化
linux·c++·人工智能·学习·机器学习·c++20·c++40周年
小苏兮5 小时前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节