Java volatile 关键字详解

打印 上一主题 下一主题

主题 1015|帖子 1015|积分 3045

Java volatile 关键字详解

1. volatile 的作用与原理



  • 可见性保证
    volatile 修饰的变量在修改后,会立刻同步到主内存,其他线程读取时直接从主内存获取最新值,确保多线程情况下的可见性。例如:
    1. volatile boolean flag = false;
    复制代码
    当线程A修改flag为true后,线程B能立刻感知到变革。

  • 克制指令重排序
    volatile 通过插入内存屏障(Memory Barrier)克制编译器和处理处罚器对指令进行重排序,保证代码执行顺序符合预期。例如双重查抄锁定(DCL)中,volatile 防止对象初始化未完成就被利用:
    1. private volatile stati
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表