volatile关键字的作用

一、保证内存可见性 1、基本概念:volatile的本意是“异变的”因为访问寄存器要比访问内存单元快的多,所以编译器一般都会做减少存取内存的优化,但是可能会脏读数据。当要求使用volatile声明变量的时候,系统总是重新从它所在的内存读取数据,即使他前面的指令刚刚从该处读取过数据。从而保证了数据在内存的可见性。 eg1: 1、智能的编译器会注意下面代码使用了两次x,但并为改变它的值,于是编译器把x
相关文章
相关标签/搜索