對volatile關鍵字的理解以及底層實現原理?

volatile是多線程共享靜態變量時,保證共享變量的可見性。 底層原理: 底層是通過lock前綴指令實現的,它會鎖定該內存區域的緩存(緩存行鎖定),並回寫到主內存。 這個回寫操作會使其他CPU裏緩存了該內存地址的數據失效。 MESI緩存一致性協議 多個CPU從主內存中讀取同一個數據到各自的高速緩存,當其中一個CPU修改了緩存裏的數據,該數據會馬上被同步回主內存,其他CPU通過總線嗅探機制可以感知
相關文章
相關標籤/搜索