Java并发编程(十一)——原子操作CAS
生活随笔
收集整理的這篇文章主要介紹了
Java并发编程(十一)——原子操作CAS
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.原子操作
syn基于阻塞的鎖的機制,1、被阻塞的線程優先級很高,2、拿到鎖的線程一直不釋放鎖怎么辦?3、大量的競爭,消耗cpu,同時帶來死鎖或者其他安全。
CAS的原理
CAS(Compare And Swap),指令級別保證這是一個原子操作
三個運算符: ?一個內存地址V,一個期望的值A,一個新值B
基本思路:如果地址V上的值和期望的值A相等,就給地址V賦給新值B,如果不是,不做任何操作。
循環(死循環,自旋)里不斷的進行CAS操作
?
CAS的問題
A---》B----》A,版本號: ?????A1àB2-àA3
CAS操作長期不成功,cpu不斷的循環
?
?
轉載于:https://www.cnblogs.com/lingluo2017/p/10306739.html
總結
以上是生活随笔為你收集整理的Java并发编程(十一)——原子操作CAS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个个性微信老头网名
- 下一篇: LoadRunner之二“集合点”