Java 中synchronized關鍵字及volatile的可見性實現

JMM(JAVA內存模型) JMM工作原理如上圖所示,一些被定義的變量都存放在主內存中,當一個線程想要修改一個變量的值時,那麼這個變量會從主內存中拷貝到線程的工作內存(CPU緩存)中。之後線程對變量值做了更改,又會重新拷貝回主內存中。大家通過描述也可以看出來這些操作是分步執行的,這樣就無法保證可見性和原子性。對於這種情況java也給出了很多解決辦法,其中就有synchronized以及volati
相關文章
相關標籤/搜索