> 社会
单例模式懒汉式怎么保证线程安全(单例模式懒汉式和饿汉式)
导语:单例模式-懒汉式
懒汉式:
1) 起到了Lazy Loading的效果,但是只能在单线程下使用。
2) 如果在多线程下,一个线程进入了if (singleton == null)判断语句块,还未来得及 往下执行,另一个线程也通过了这个判断语句,这时便会产生多个实例。所以 在多线程环境下不可使用这种方式
代码实现:
public class SingletonTest03 { public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); System.out.println(singleton1 == singleton2); System.out.println(&34;+singleton1.hashCode()); System.out.println(&34;+singleton2.hashCode()); }}class Singleton{ private Singleton(){ } private static Singleton instance; public static Singleton getInstance(){ if(null == instance){ instance = new Singleton(); } return instance; }}
本文内容由小舻整理编辑!