如何學好java高併發多線程之--3--瞭解MESI緩存一致性協議

運行在不同cup的2個線程,如何保證在修改相同變量的時候不發生衝突呢 ? 早期的做法加總線鎖: 總線鎖 – > 早期多核cup實現一致性的方式,給總線加互斥鎖,使另一個核pending住。這樣通訊效率很低。 現在的做法使用緩存一致性協議MESI Modified,  Exclusive, Shared, Invalid 如下圖: T0 通過總線向主內存獲取一個緩存行, 該緩存行包含變量counte
相關文章
相關標籤/搜索