java并发编程-并发单例模式两种方式

并发编程中,介绍两种单例模式。

静态内部类模式

JVM对静态内部类使用线程安全的模式,如果有多个线程访问静态内部类需要排队,看下面的例子:

java并发编程-并发单例模式两种方式

输出结果:

java并发编程-并发单例模式两种方式

说明:

1、类声明为final的,不能被继承

2、静态内部类,static final的初始化一次类的对象实例

3、每次通过static getInstance方法访问静态类部类的变量,JVM保证安全

双重检查法(懒模式)

下面在在并发编程中,使用双重检查法实现单例,我们看下面的例子:

java并发编程-并发单例模式两种方式

输出结果:

java并发编程-并发单例模式两种方式

程序分析:

1、使用懒汉模式,static 加载的时候先判断对象是否为空,后在锁住类,在次检查对象是否为空


分享到:


相關文章: