CAS有3個(gè)操作數(shù),內(nèi)存值V,舊的預(yù)期值A(chǔ),要修改的新值B。當(dāng)且僅當(dāng)預(yù)期值A(chǔ)和內(nèi)存值V相同時(shí),將內(nèi)存值V修改為B,否則什么都不做。上面這是cas的意思,但這樣做的意義何在?找了好多cas的資料,都是講cas的意思,但真不知道為什么要這樣做,比較什么新舊值,,,
1 回答

一凡
TA貢獻(xiàn)43條經(jīng)驗(yàn) 獲得超8個(gè)贊
CAS是由CPU實(shí)現(xiàn)的一個(gè)原子性操作,不需要鎖來(lái)對(duì)內(nèi)存阻塞同步,效率上要高很多很多。
當(dāng)然,如果程序的競(jìng)爭(zhēng)非常多(大量沖突),CAS沖突太多,效率也不好,用鎖可能更合適。
添加回答
舉報(bào)
0/150
提交
取消