美文网首页
图解volatile 工作原理

图解volatile 工作原理

作者: 作草分茶 | 来源:发表于2019-11-08 16:03 被阅读0次
volatile工作流程.jpg
  1. Cpu2 读取(read)到主内存中的变量v=0,并将其载入(load)工作内存中存为变量副本,线程2执行引擎使用(use)该变量副本,此时通过总线嗅探机制来监听主内存中v的变化。
  2. Cpu1 读取(read)到主内存中的变量v=0,并将其载入(load)工作内存中存为变量副本,线程1执行引擎使用(use)该变量副本,然后赋值(assign)v=1
  3. 由于变量v加了volatile关键字修饰,会在存储(store)之前加锁(lock),然后通过总线,将变量v=1写入主内存,解除锁定。
  4. 由于v的值发生了改变,并且通过了消息总线,Cpu2 通过总线嗅探机制发现v的值改变了,就会将 Cpu2 工作内存中的变量v=0置为无效状态,当使用(use)该变量时,发现没有这个值,就会冲新区主内存中读取数据,此时读取到的数据就是v=1

相关文章

网友评论

      本文标题:图解volatile 工作原理

      本文链接:https://www.haomeiwen.com/subject/egcwbctx.html