1. CAS底层汇编命令 lock cmpxchg

  2. volatile

    • 线程内存可见

    • 防止指令重排序

  3. cache line 缓存行:当cpu去内存读数据时,会把附近的数据读出来,一般是64字节,是cpu同步的基本单位

    缓存行隔离会比缓存行伪共享效率高

  4. MESI

    • 伪共享

    • 合并写

      cpu内部的4个字节buffer

    • 指令重排序