JAVA併發理解之重排序問題

       首先我們先來了解一下什麼是重排序:重排序是指編譯器和處理器爲了優化程序性能而對指令序列進行重新排序的一種手段。 從Java源代碼到最終實際執行的指令序列,會分別經歷下面3種重排序,如下圖所示       上述的1屬於編譯器重排序,2和3屬於處理器重排序。這些重排序可能會導致多線程程序出現內存可見性問題。在單線程程序中,對存在控制依賴的操作重排序,不會改變執行結果(這也是as-if-s
相關文章
相關標籤/搜索