java - volatile 在 Java 的单线程应用程序中有用吗?

标签 java multithreading volatile single-threaded

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

最佳答案

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

volatile 关键字保证了多次读取该变量的先行关系,这只有在多个线程访问它时才有意义。

其他见解 here .

关于java - volatile 在 Java 的单线程应用程序中有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199894/

相关文章:

Java泛型复制构造函数

java - OSX : JavaVM, AWT/Swing 和可能的死锁

multithreading - 在 SLURM 环境中运行 FFMPEG 多线程

python - 如何在线程后继续代码?对这段代码的流程感到困惑

c++ - 为什么 std::numeric_limits::is_integer 对于 volatile 类型是假的?

java - Rhino API - 使用 org.mozilla.javascript.Context 访问 js 方法?

java - 如果 profiler 不是答案,我们还有什么其他选择?

java - 复杂对象的普通 Java 线程池与 Aparapi GPU

了解 "volatile"关键字和比较的工作原理

java - java中的volatile变量和内存屏障