Java互聯網架構師系統進階課程學習 (3)【享學】

三、原子操做CAS

Java互聯網架構師系統進階課程學習 提娶馬:d17c安全

Atom(不可分割)markdown

什麼是原子操做?如何實現原子操做?

syn基於阻塞的鎖的機制,一、被阻塞的線程優先級很高,二、拿到鎖的線程一直不釋放鎖怎麼辦?三、大量的競爭,消耗cpu,同時帶來死鎖或者其餘安全。架構

CAS的原理****oop

CAS(Compare And Swap),指令級別保證這是一個原子操做學習

三個運算符:  一個內存地址V,一個指望的值A,一個新值Bspa

基本思路:若是地址V上的值和指望的值A相等,就給地址V賦給新值B,若是不是,不作任何操做。線程

循環(死循環,自旋)裏不斷的進行CAS操做code

 

CAS的問題****orm

A---》B----》A,版本號:      A1àB2-àA3內存

CAS操做長期不成功,cpu不斷的循環,

Jdk中相關原子操做類的使用

AtomicMarkableReference,boolean 有沒有動過

AtomicStampedReference  動過幾回

image.png

相關文章
相關標籤/搜索