volatile写-读的内存语义
2018-06-21 15:13:15 36 举报
volatile写-读的内存语义
作者其他创作
大纲/内容
读
线程A
本地内存Bflag = truea = 1
写
线程B
线程之间通信:线程A向B发送消息
主内存flag = truea = 1
线程A在写 flag变量后,本地内存A中被线程A更新过的两个共享变量的值被刷新到主内存中。此时,本地内存A 和主内存中的共享变量的值是一致的。
线程A执行volatile写后,共享变量的状态示意图
本地内存Aflag = truea = 1
本地内存Bflag = falsea = 0
在读flag变量后,本地内存B包含的值已经被置为无效。此时线程B必须从主内存中读取共享变量。线程B的读取操作将导致本地内存B与主内存中的共享变量的值变成一致。
0 条评论
下一页