Java中volatile关键字如何影响变量可见性和线程安全?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1011个文字,预计阅读时间需要5分钟。
1. `volatile` 关键字的作用:保证了变量的可见性(visibility)。被 `volatile` 修饰的变量,如果其值发生了变更,其他线程立即可见,避免了脏读(dirty read)的现象。例如以下代码片段,`isShutDown` 被设置为 true,其他线程将立即看到这个变更。
1. volatile关键字的作用:保证了变量的可见性(visibility)。被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免出现脏读的现象。如以下代码片段,isShutDown被置为true后,doWork方法仍有执行。如用volatile修饰isShutDown变量,可避免此问题。
本文共计1011个文字,预计阅读时间需要5分钟。
1. `volatile` 关键字的作用:保证了变量的可见性(visibility)。被 `volatile` 修饰的变量,如果其值发生了变更,其他线程立即可见,避免了脏读(dirty read)的现象。例如以下代码片段,`isShutDown` 被设置为 true,其他线程将立即看到这个变更。
1. volatile关键字的作用:保证了变量的可见性(visibility)。被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免出现脏读的现象。如以下代码片段,isShutDown被置为true后,doWork方法仍有执行。如用volatile修饰isShutDown变量,可避免此问题。

