volatile关键字

两个作用: (一)防止指令重排 (二)保证内存可见性 指令重排序:是JVM为了优化指令,提高程序运行效率,在不影响单线程程序执行结果的前提下,尽可能地提高并行度。编译器、处理器也遵循这样一个目标。注意是单线程。多线程的情况下指令重排序就会给程序员带来问题。 指令重排序包括编译器重排序(编译器)和运行时重排序(处理器)。 示例说明: double r = 2.1; //(1) double pi =
相关文章
相关标签/搜索