什麼是cas
cas是英文單詞compare and swap的縮寫,翻譯過來就是比較並替換。
更新乙個變數的時候,只有當變數的預期值a和記憶體位址v當中的實際值相同時,才會將記憶體位址v對應的值修改為b。
public class casdemo
atomicinteger.compareandset(2021,2020);
system.out.println(atomicinteger.get());
atomicinteger.compareandset(2020,6666);
system.out.println(atomicinteger.get());}}
unsafe類
缺點:1.迴圈耗時
2.一次性只能保證乙個共享變數的原子性
3.存在aba問題
JUC個人學習筆記7 讀寫鎖
根據b站up主狂神說juc課程所寫的個人學習筆記 讀的時候可以多執行緒讀,寫的時候只能乙個寫 獨佔鎖 寫鎖 共享鎖 讀鎖 1.讀 讀 可以共存2.讀 寫 不能共存3.寫 寫 不能共存 public class readwritelockdemo string.valueof i start 讀取 f...
JUC個人學習筆記15 Volatile
根據b站up主狂神說juc課程所寫的個人學習筆記 1.保證可見性 public class jmmdemo start timeunit.seconds.sleep 1 num 1 system.out.println num 2.不保證原子性 原子性 不可分割 執行緒a在執行任務的時候,不能被打擾...
JUC個人學習筆記16 單例模式
根據b站up主狂神說juc課程所寫的個人學習筆記 餓漢式,懶漢式 餓漢式public class hungry private final static hungry hungry new hungry 保證唯一 public static hungry getinstance dcl懶漢式 懶漢式...