马士兵多线程直播笔记(下)
马士兵多线程直播笔记(下)
CPU与缓存
缓存L1、L2、L3失效后回去内存中找,然后依次返回L3、L2、L1.
缓存一致性协议(MESI)
同一个缓存行在多个CPU内存中,一个修改后,其他CPU也需要感知!
缓存行的四种状态(64个字节)
- Modified
- Exclusive
- Shared
- Invaild
CPU乱序执行
Volatile
- 线程可见性(底层MESI)
- 禁止重排序
JSR内存屏障
- LoadLoad
- StoreStore
- LoadStore
- StoreLoad
内存屏障防止Volatile修饰的关键字指令不会重排序。最底层是Locl AddL指令。