JVM

2018-08-18  本文已影响0人  有章

【java内存模型 https://www.jianshu.com/p/d3fda02d4cae
voliate是基于memory barrier实现,如果一个变量为voliate,JMM在写入这个字段后插入一个Write-barrier指令(将刷新在barrier之前写入cache的数据),并在读取这个字段之前插入一个read-barrier指令
这就保证:
1.一个线程写入变量a后,任何线程访问该变量都能拿到最新值(push and pull)
2.在写入变量a之前的写入操作,对其他线程也是可见的.因为memory barrier会刷出cache中之前所有的写入s

上一篇下一篇

猜你喜欢

热点阅读