【发布时间】:2019-04-01 03:39:25
【问题描述】:
在谷歌搜索和阅读 StackOverflow 帖子后,我不清楚将变量标记为 volatile 是否使其线程安全。
是吗?
【问题讨论】:
标签: java thread-safety volatile
在谷歌搜索和阅读 StackOverflow 帖子后,我不清楚将变量标记为 volatile 是否使其线程安全。
是吗?
【问题讨论】:
标签: java thread-safety volatile
一句话——不。
将变量标记为volatile 解决了“安全发布”问题,其中一个线程对变量所做的更改对所有其他线程都是可见的(也有其他方法可以做到这一点)。当变量不是 volatile 时,没有这样的保证。
安全发布只是多线程编程的挑战之一 - 还有其他挑战。
【讨论】: