1、实现原理<wbr><div><span style="white-space:pre;" > </span>根据汇编源码,volatile修饰的变量会形成两行汇编代码,一行是赋值,一行是lock。Lock的作用就是在多核下,让当前处理器缓存区中的数据写入到内存。同时让其他处理器缓存区的对应内容失效,在下次读取该地址时强制从主存中读取数据到缓存区。这样就是实现了并发的可见性。而且需要指明的是volatile解决的是多核下的问题。</div><div> </div>
SpringMVC内部解析及自实现
最新推荐文章于 2021-02-01 17:44:49 发布
本文深入探讨了volatile变量如何通过特殊的汇编代码确保在多核处理器环境下数据的并发可见性。具体而言,volatile变量在编译时会被转换为包含lock前缀的汇编指令,这不仅将当前处理器缓存的数据同步回内存,还使其他处理器的缓存数据失效,从而在下次读取时强制从主存加载最新数据。
2677

被折叠的 条评论
为什么被折叠?



