CAS與原子類,MESI緩存一致性協議(Modified, Exclusive, Shared...

原子類將CPU的CAS(Compare And Switch)指令封裝起來,做爲一項庫級特性提供給應用程序開發者。可是CAS有ABA的問題。因而額外的AtomicStampedReference 被提供,用來提供帶版本號的數據比較。但是CPU一次只能執行一條CAS指令,也就是說,它一次只能對一個內存地址作CAS操做,它要如何作到同時比較兩個「數據」,即操做數與其版本,呢?內存

答案是:雙字或多字CAS指令?開發

ANYWAY...it

再有就是,有CAS的效率是由MESI提升的。若是這麼說,那麼volatile作什麼呢?效率

相關文章
相關標籤/搜索