JUC個人學習筆記17 CAS

2021-10-09 11:30:48 字數 587 閱讀 5963

什麼是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懶漢式 懶漢式...