摘要: cpu volatile 和上一篇java volatile 不一样。 cpu是如何保证各内存之间数据可见性的呢? 答:缓存一致性协议 (MESI cache)。 cache line:cpu缓存行,多大呢 64b字节 阅读全文
posted @ 2020-05-14 21:59 Risus 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 先解释下cpu指令重排序:cup的执行效率一般是内存的100倍左右,假设当cup先后接收到两条指令,指令1和指令2,指令1在执行指令到内存给cpu返回结果需要5秒,但是指令2的整个过程只需要2秒,那么cpu会优先执行指令2,再执行指令1,这就叫cpu指令重排序. 请看图解: 那么volatile: 阅读全文
posted @ 2020-05-14 20:37 Risus 阅读(137) 评论(0) 推荐(0) 编辑