volatile實現原理

首先我們來討論一種情況,現在有兩個線程,一個是讀線程,讀取一個共享數據並打印,一個是寫線程,更新共享數據,這樣一個情形的原理是什麼樣的? 這樣會出現一個什麼樣的問題呢?就是一個寫線程將數據讀取到內存更新的時候,讀線程去讀取這個數據,導致讀寫線程的數據不一致。 這個有什麼解決方案呢? 總線加鎖(粒度太大) MESI() 讀操作:不做任何事情,把cache中的數據讀到寄存器 寫操作:發出信號,通知其他
相關文章
相關標籤/搜索