教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

樂觀鎖有什么缺點?樂觀鎖的缺點介紹

更新時間:2020年12月08日17時15分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

樂觀鎖有什么缺點?

樂觀鎖避免了悲觀鎖獨占對象的現(xiàn)象,同時也提高了并發(fā)性能,但它也有缺點:

1.樂觀鎖只能保證一個共享變量的原子操作。如果多一個或幾個變量,樂觀鎖將變得力不從心,但互斥鎖能輕易解決,不管對象數(shù)量多少及對象顆粒度大小。

2.長時間自旋可能導(dǎo)致開銷大。假如CAS長時間不成功而一直自旋,會給CPU帶來很大的開銷。

3.ABA問題。CAS的核心思想是通過比對內(nèi)存值與預(yù)期值是否一樣而判斷內(nèi)存值是否被改過,但這個判斷邏輯不嚴(yán)謹(jǐn),假如內(nèi)存值原來是A,后來被一條線程改為B,最后又被改成了A,則CAS認(rèn)為此內(nèi)存值并沒有發(fā)生改變,但實際上是有被其他線程改過的,這種情況對依賴過程值的情景的運(yùn)算結(jié)果影響很大。解決的思路是引入版本號,每次變量更新都把版本號加一。、


猜你喜歡:

樂觀鎖和悲觀鎖的區(qū)別

Spring AOP實現(xiàn)原理和常見代理的區(qū)別

Java JDK是什么意思?有什么作用?

Java高級軟件工程師培訓(xùn)課程





下面是傳智教育公開的幾套Java課程,您可以下載和在線觀看學(xué)習(xí),如果想深入學(xué)習(xí)java并想找到不錯的java開發(fā)相關(guān)工作,建議報班學(xué)習(xí)傳智教育Java高級軟件工程師課程。獲取【Java視頻教程+資料】加播妞1605146928606_課程資料.jpg:435946716。



0 分享到:
和我們在線交談!