单例模式(四)—懒汉双锁模式
2024-04-10 00:20:25  阅读数 695

前言

在之前的文章,我们已经讲过了单例模式的线程不安全模式,大家有兴趣的可参考以下文章:
单例模式(一)—懒汉模式
单例模式(二)—懒汉模式(线程安全模式)
单例模式(三)—饿汉模式

今天讲讲懒汉双锁模式,涉及的内容有:

  1. 懒汉双锁模式实现步骤
  2. 懒汉双锁模式实现代码
  3. 懒汉双锁模式优化

一. 懒汉双锁模式 实现步骤

  • 写一个private 无参构造函数
  • 声明private static 该类对象
  • 写一个public static的获取该类对象的方法,在该方法中首先对该类对象是否为空做判断,若为空,则给该类添加同步锁synchronized,在同步方法内再度判断该类对象是否为空,若为空则初始化该对象

二. 懒汉双锁模式 实现代码

下面给出懒汉双锁模式实现代码: