JMM記憶體模型

2022-07-01 04:45:10 字數 584 閱讀 9408

mesi快取一致性協議

多個cpu從主記憶體讀取同乙個資料到各自的快取記憶體,當其中的乙個cpu修改了快取裡的資料,該資料會馬上同步回主記憶體,其它cpu通過匯流排嗅探機制可感知到資料的變化從而將自己快取裡的資料失效

lock、unlock

匯流排加lock變成序列,效率降低、store前加lock實現並行

1、防止併發操作,多個執行緒同時往主線寫資料

2、防止store後、還沒有寫入匯流排,就已經mesi快取一致性協議

併發程式設計的三大特性:可見性原子性有序性

volatile保證可見性和有序性,但是不保證原子性,保證原子性需要借助synchronized這樣的鎖機制

JMM記憶體模型

依賴於jvm排程作業系統,由作業系統建立乙個核心執行緒klt,核心執行緒最終才會被cpu排程 jvm結構 jmm八大原子操作 volatitle如何保證可見性?匯流排鎖 當被volatitle修飾的變數想要修改主記憶體的資料時,會傳送一條帶有lock字首的彙編指令到匯流排上,此時它會鎖住匯流排,禁止...

java記憶體模型 JMM

1 原子性 atomicity 不可中斷的操作,即使是多個執行緒一起執行的時候,也不會被其他執行緒干擾 2 可見性 visibility 當乙個執行緒修改了某乙個共享變數的值,其他執行緒是否能夠立即知道這個修改 3 有序性 ordering 重排指令可以保證序列語義一致,但沒有義務保證多執行緒之間的...

JVM複習(二)JMM記憶體模型1

1 對主記憶體執行讀操作read 2 對工作記憶體執行相應的裝載load 1 工作記憶體執行儲存store 2 主記憶體執行相應的寫操作write 某執行緒修改了值,使用volatile可以讓其他執行緒馬上可見這個執行緒的改變 1 volatile 2 synchronized 同步解鎖前,會寫變數...