java并发编程学习笔记之cpu实现原子操作

两种实现方式:

总线锁定:通过锁定总线,也就是锁定后,总线数据的传输将被阻塞

缓存锁定:通过缓存一致性实现原子操作,缓存一致性常用MESI控制协议实现

MESI控制协议:

MESI是四种状态,用来表明缓存中数据的状态。

M(modify):表示缓存中数据修改,与内存中不一致,只能有一个缓存拥有这个状态,且其他拥有该数据的缓存为i状态

E(exclusive): 表示别的缓存中没有该数据,只有该缓存独占,当别的缓存从内存中读取后,变为s状态,只能有一个缓存拥有这个状态

S(shared): 表示除了该缓存,其他缓存也拥有该数据,当该状态存在时,不可能存在其他所有状态。

I(invalid): 表示失效状态,当有另一个缓存行状态为M状态时该缓存变为此状态。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容