JMM和Happen Before

  線程是操作系統的最小調度單位,也是執行單位,爲了追求高性能,線程裏面的指令執行順序是不定的,這來自編譯器會重排序指令,處理器會亂序或者並行的執行,編譯器還有可能將數據放在處理器的寄存器中等,這些優化技術在單線程的程序中表現得很好,但是到了多線程程序中就有問題了。   首先要了解下Java的內存結構,然後我們再進入線程和內存的關係, Java的內存結構如下   如果多線程之間不共享數據,這也表現
相關文章
相關標籤/搜索