请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

violate读和普通读

violate读会使得被violate修饰的变量将工作内存中设为无效,直接读取主内存中的共享变量,所以能保证可见性。
那普通读呢?线程1修改了共享变量A,线程2能立刻知道共享变量A的值以及被修改了么?能够获取最新的共享变量A的值么?

正在回答 回答被采纳积分+3

1回答

翔仔 2019-10-13 00:04:05

同学好,普通读不能立刻感知到修改,所以才用的volatile

0 回复 有任何疑惑可以回复我~
  • 就是工作内存中的非volatile变量还是会和主内存中的变量值保持同步,只不过会存在时间误差?volatile关键字就是为了消除这个时间误差。这个理解对吗
    回复 有任何疑惑可以回复我~ 2019-11-14 10:12:27
  • 同学好,可以这么理解哈
    回复 有任何疑惑可以回复我~ 2019-11-15 00:06:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信