Java:内存屏障中的屏障是针对单线程操作还是不同线程的操作?

https://www.jianshu.com/p/2ab...

譬如这句话

LoadLoad屏障:对于这样的语句Load1; LoadLoad; Load2,在Load2及后续读取操作要读取的数据被访问前,保证Load1要读取的数据被读取完毕。


其中,Load1和Load2是在同一个线程中,还是可以在不同线程中?

还有就是,为何StoreLoad屏障是一个万能屏障?”对于这样的语句Store1; StoreLoad; Load2,在Load2及后续所有读取操作执行前,保证Store1的写入对所有处理器可见“ 这样的表现如何兼具其他三种屏障功能的?

阅读 1.9k
1 个回答

可以是在同一个线程中,也可以是多个线程。内存屏障其实就是在读取前或写入后刷新缓存而已,并不是什么很难理解的概念。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题