作者:捕鱼达人2602914975 | 来源:互联网 | 2023-10-13 12:12
1.问题描述:我在读《深入理解java虚拟机》的时候看到volatile是通过lockadd$0x0,(%esp)这个字节码指令来刷新cpu缓存的,作者表示“这样所有之前的操作都已经
1.问题描述:
我在读《深入理解java虚拟机》的时候看到volatile是通过lock add $0x0,(%esp)这个字节码指令来刷新cpu缓存的,作者表示“这样所有之前的操作都已经执行完了,所以指令重排序不能越过内存屏障”,但是我觉得只是刷新的话并不能达到内存屏障的效果。
2.尝试的方案:
阅读过linux指令屏障相关文档,但是没有说明怎么实现内存屏障这种效果的