hooyantsing's Blog

P33 单例(同步代码块懒汉式)

字数统计: 170阅读时长: 1 min
2020/11/08

尚硅谷Java设计模式(图解+框架源码剖析)

懒汉式(线程不安全,同步代码块)

这种同步并不能起到线程同步的作用。问题所在见代码。

结论:在实际开发中,不能使用这种方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Singleton {
// 1.构造器私有化,防止外部new
private Singleton(){}

// 2.类本身内部创建对象实例
private static Singleton instance;

// 3.提供一个公有的静态方法,当使用该方法时,才去创建 instance
public static Singleton getInstance(){
if(instance == null){
// 有很大问题,多个线程都停在这里,轮流创建新对象
synchronized (Singleton.class){
instance = new Singleton();
}
}
return instance;
}
}
CATALOG
  1. 1. 懒汉式(线程不安全,同步代码块)