java - JMM为什么要规定普通写和volatile读不能重排序?
天蓬老师
天蓬老师 2017-04-18 09:41:49
0
1
925
是否能重排序 第二个操作
第一个操作 普通读/写 volatile读 volatile写
普通读/写 YES NO YES
volatile读 NO NO NO
volatile写 YES NO NO

我理解的对volatile变量的重排序(编译器重排序和处理器重排序),主要目的是为了实现对volatile的写,Happend-Before对volatile的读

所以,按照我理解的话,并不需要像图表中那么严谨

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(1)
洪涛

多執行緒情況下,存在執行緒工作記憶體和主記憶體的同步問題,volatile只是在主記憶體上即時可取

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板