首頁>技術>

多執行緒情況下的記憶體模型

多執行緒情況下,每個執行緒都會從主記憶體中讀取操作的資料,然後本地執行緒記憶體會從主記憶體複製一份再進行計算,計算完成之後再將結果寫入主記憶體。通常情況下讀改寫這個操作在多執行緒情況下會被其他執行緒加塞。最終使寫入主記憶體的計算結果與我們預期的不一致。要規避這種問題,那我們就要深入理解JMM和JUC程式設計。

JMM記憶體模型必須要保證的是可見性,原子性,有序性。上述記憶體模型是會提高程式的執行效率但是會導致多執行緒情況下資料的不一致。而我們高併發下既要保證資料的一致性也要保證程式的執行效率。如何去更好地做好java多執行緒程式設計,那我們就必須深入理解JUC程式設計(即java.util.current包)和JMM(java記憶體模型)。

下一篇將會介紹java輕量級同步機制關鍵字volatile;

3
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 分散式系統全域性唯一ID生成方案