源碼閱讀網(wǎng)JAVA 多線程與并發(fā)
2023-04-01 20:37 作者:GODEATER03 | 我要投稿
通過這些規(guī)則來規(guī)范對內存的讀寫操作從而保證指令的正確性。需要注意的是,JMM并沒有限制執(zhí)行引擎使用處理器的寄存器或者高速緩存來提升指令執(zhí)行速度,也沒有限制編譯器對指令進行重排序,也就是說在JMM中,也會存在緩存一致性問題和指令重排序問題。只是JMM把底層的問題抽象到JVM層面,再基于CPU層面提供的內存屏障指令,以及限制編譯器的重排序來解決并發(fā)問題。
java程序員不可能直接去控制底層線程對寄存器高速緩存內存之間的同步,那么java從語法層面,應該給開發(fā)人員提供一種解決方案,比如voldatile、happen-before。
標簽: