懒汉式(线程安全,同步代码块儿)
生活随笔
收集整理的這篇文章主要介紹了
懒汉式(线程安全,同步代码块儿)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
懶漢式(線程安全,同步代碼塊兒)
代碼演示
// 懶漢式 (線程安全_ 同步放法_) class Singleton{private static Singleton instance;private Singleton() {}// 提供一個(gè)靜態(tài)的公有方法 加入了同步處理的代碼// 解決線程安全問題// 即懶漢式// 我們?cè)谶@里加一個(gè)關(guān)鍵字 synchronizedpublic static Singleton getInstance() {if (instance == null) {synchronized(Singleton.class){instance = new Singleton();}}return instance;} }[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-X10OUu0Q-1613785230625)(./img/mm/meizi56.jpg)]
優(yōu)缺點(diǎn)說明
這總方式,本意是想對(duì)于第四種實(shí)現(xiàn)方式的改進(jìn),因?yàn)榍懊嫱椒椒ㄐ侍?
改為同步產(chǎn)生實(shí)例化的的代碼塊
但是這種同步并不能起到線程同步的作用,跟第三種實(shí)現(xiàn)方式遇到的情形一致,假如一個(gè)線程進(jìn)入了if(singleton == null)判斷語句塊兒,還未來得及往下執(zhí)行,另一個(gè)線程也通過了這個(gè)判斷語句,這時(shí)便會(huì)產(chǎn)生多個(gè)實(shí)例
結(jié)論:在實(shí)際開發(fā)中,不能使用這種方式(沒多大卵用)
更多:http://victorfengming.gitee.io/design_pattern/
總結(jié)
以上是生活随笔為你收集整理的懒汉式(线程安全,同步代码块儿)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言个人日记本系统的设计,[设计]c语
- 下一篇: 宏基4736ZG更换键盘图解