关于将volatile变量作为触发器的使用场景
来源:13-4 适用场合2

ice_wolf
2019-10-08
老师,关于将volatile变量作为触发器,能使之前操作修改后的值对其他线程可见这一点我想不通这个底层原理是啥,像场景1纯赋值不带任何运算的做法我能从缓存不一致问题上想明白,场景2我就理解不了了
写回答
1回答
-
悟空
2019-10-08
底层原理是内存栅栏,也叫屏障指令,说白了就是可以保证线程内存和主内存之间的同步。用了volatile之后,编译器和CPU会识别到,于是就有了同步的功效,可以保证在读取volatile修饰的变量的时候,保证能看到之前的所有写操作,于是就能当作触发器使用。
012019-10-08
相似问题