当前位置:首页 > volatile > 正文

volatile关键字作用

1、 volatile在Java并发编程中常用于保持内存可见性和防止指令重排序。 内存可见性(MemoryVisibility):所有线程都能看到共享内存的最新状态。 防止指令重排:在基于偏序关系的Happens-Before内存模型中,指令重排技术大大提高了程序执行效率,但同时也引入了一些问题。

3、 static和volatile关键字的含义和作用如下:一、static关键字的作用 1、修饰局部变量 static修饰局部变量时,使得被修饰的变量成为静态变量,存储在静态区。 存储在静态区的数据生命周期与程序相同,在main函数之前初始化,在程序退出时销毁。

2、 volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。 )。