volatile问题

来源:9-5 jmm的内存可见性

慕UI3469488

2019-05-15

图片描述第二句话:当什么东西读取一个volatile变量时? JMM会把该线程对应的工作内存置为无效又是什么意思?

写回答

1回答

翔仔

2019-05-15

当线程读取volatile变量时。在视频里也说到了,在线程里面会有自己的工作内存,工作内存和主内存交互,也就是说线程间共享主内存,将主内存的数据拷贝到自己的工作内存,修改的时候是修改的工作内存。将工作内存置为无效就是让自己的工作内存过期,转而直接读取主内存的数据,这样就能获取到最新的数据。具体可以看看这个

https://www.jianshu.com/p/157279e6efdb


1
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程