volatile關鍵字與CPU之間的關係

首先看圖 這個【x,y】被volatile修飾過了。就相當於64Byte緩存行 我理解的是:緩存行就是CPU緩存區讀取數據的數據塊的大小 1,當64Byte的【x,y】被緩存區L3讀取後,cpu1需要更改X,cpu2需要更改Y,沒辦法只能全部讀取, 當cpu1的X發生改變後,刷回內存,通知同時讀取到這個緩存行的線程。(通知通過CPU內部的緩存一致性協議實現。)cpu2修改完後也和線程1一樣。就這樣
相關文章
相關標籤/搜索