【JVM調優(一)】----JAVA內存模型抽象結構

    線程之間的通信機制有兩種:共享內存和消息傳遞。
    Java線程之間的通信由Java內存模型(JMM)控制,JMM控制一個線程對共享變量的寫入什麼時候對另一個線程可見。下圖是JMM的抽象結構:

這裏寫圖片描述

    線程之間的共享變量存儲在主內存中(Main Memory),每一個線程都有自己的本地內存(Local Memory),本地內存中存儲着讀/寫共享變量的副本。

    由上圖可以看出,線程之間的通信由兩個步驟:

線程A把修改後的本地內存中的共享變量更新到主內存中去
線程B到主內存中讀取線程A之前更新過的共享變量

這裏寫圖片描述

    從整體上看,這就是線程A在向線程B發送消息,而且這個消息必須經過主內存。JMM通過控制主內存與每個線程的本地內存之間的交互,來爲Java程序員提供內存可見性保證。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章