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

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

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

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

好口碑IT培訓

樂觀鎖有什么缺點?

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

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

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

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


猜你喜歡:

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

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

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

Java高級軟件工程師培訓課程





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



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