对volatile关键字的理解以及底层实现原理?

volatile是多线程共享静态变量时,保证共享变量的可见性。 底层原理: 底层是通过lock前缀指令实现的,它会锁定该内存区域的缓存(缓存行锁定),并回写到主内存。 这个回写操作会使其他CPU里缓存了该内存地址的数据失效。 MESI缓存一致性协议 多个CPU从主内存中读取同一个数据到各自的高速缓存,当其中一个CPU修改了缓存里的数据,该数据会马上被同步回主内存,其他CPU通过总线嗅探机制可以感知
相关文章
相关标签/搜索