Java的Volatile关键字的作用是什么?
作者:BrightSoul
时间:2023-04-25
浏览:2
说明1、程序执行到volatile变量的阅读操作或写作操作时,必须进行前一个操作的所有变化。后一个操作已经看到后一个操作还没有进行。2、指令优化时,不能将volatile变量访问的句子放在后面,也不能将volatile变量访问的句子放在前面。一般的变量只能保证该方法在执行过程中所有依赖授权结果的地方都能得到正确的结果,不能保证其顺序与程序代码的执行顺序一致。实例volatilebooleaninitialized=false;//下面代码线程A中执行//读取配置信息,当读取完成后将initialized设
说明
1、程序执行到volatile变量的阅读操作或写作操作时,必须进行前一个操作的所有变化。后一个操作已经看到后一个操作还没有进行。
2、指令优化时,不能将volatile变量访问的句子放在后面,也不能将volatile变量访问的句子放在前面。
一般的变量只能保证该方法在执行过程中所有依赖授权结果的地方都能得到正确的结果,不能保证其顺序与程序代码的执行顺序一致。
实例
volatile boolean initialized = false;
// 下面代码线程A中执行
// 读取配置信息,当读取完成后将initialized设置为true以通知其他线程配置可用
doSomethingReadConfg();
initialized = true;
// 下面代码线程B中执行
// 等待initialized 为true,代表线程A已经把配置信息初始化完成
while (!initialized) {
sleep();
}
// 使用线程A初始化好的配置信息
doSomethingWithConfig();Java有哪些集合类
Java中的集合主要分为四类:
1、List列表:有序的,可重复的;
2、Queue队列:有序,可重复的;
3、Set集合:不可重复;
4、Map映射:无序,键唯一,值不唯一。
作者最新文章
索尼 Xperia 1 VIII / VII / VI 等手机获 Android 17 更新,新增桌面模式等功能
2026-09-08 16:44
加拿大留学监护声明书(IMM 5646)双页签署与公证核对指南
2026-09-03 15:02
在线PDF转图片教程:一键生成高清图片包
2026-09-03 12:04
Creo零基础入门:新建零件与第一次拉伸建模完整指南
2026-09-03 06:02
扫描件PDF转Word的在线操作步骤与编辑可行性判断
2026-09-02 18:39
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































