在Java中的单线程应用程序中,volatile是否有用?

NPS*_*NPS 1 java multithreading volatile single-threaded

正如在标题中那样 - 在Java的单线程编程环境中,volatile是否有用?我知道它用于确保变量的值总是在内存中实际检查,因此在任何情况下,该值可能会以app /编译器不会注意到的方式更改(在单线程应用程序中)?

Men*_*ena 5

不,至少不是单线程应用程序中您自己定义的变量.

volatile关键字的保证之前发生与多种关系读取变量,它才有意义,当多个线程访问的.

其他见解在这里.