當(dāng)前位置:
首頁 >
001_支持并发的两次判空懒汉单例
發(fā)布時間:2025/4/17
57
豆豆
生活随笔
收集整理的這篇文章主要介紹了
001_支持并发的两次判空懒汉单例
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
package com.zr.single;/*** 支持并發(fā)的兩次判空懶漢單例*/
public class TwiceJudgeNullLazySingleton {private TwiceJudgeNullLazySingleton() {}private static TwiceJudgeNullLazySingleton instance;public static TwiceJudgeNullLazySingleton getInstance() {// 第一次判空的意義在于: 其它線程訪問該對象實例時, 已經(jīng)有了對象實例, 直接返回。if(instance == null){// 這里加類對象同步代碼塊的意義在于: 防止多個線程同時創(chuàng)建實例。synchronized(TwiceJudgeNullLazySingleton.class) {// 第二次判空的意義在于: 多個線程訪問創(chuàng)建該對象實例時, 由于創(chuàng)建對象實例的過程過慢, 多個線程都已經(jīng)運(yùn)行過了第一個判空。if(instance == null) {instance = new TwiceJudgeNullLazySingleton();}}}return instance;}
}
?
總結(jié)
以上是生活随笔為你收集整理的001_支持并发的两次判空懒汉单例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 得到Android设备的唯一id
- 下一篇: 002_支持并发的内部类饿汉单例