steretype 2020-01-02 14:42 采纳率: 0%
浏览 210

如何理解JAVA并发编程一书中关于volatile关键字的使用条件,该变量不会与其它状态变量一起纳入不变性条件中

请教大牛:
如何理解JAVA并发编程一书中关于volatile关键字的使用条件,该变量不会与其它状态变量一起纳入不变性条件中

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-21 13:59
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/745719
    • 除此之外, 这篇博客: 【Java 线程系列】一文看懂--并发编程归纳总结中的 3.2、volatile 的实现原理 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
      • volatile 关键字修饰的变量会存在一个“lock:”的前缀。
      • Lock 前缀,Lock 不是一种内存屏障,但是它能完成类似内存屏障的功能。Lock 会对 CPU 总线和高速缓存加锁,可以理解为 CPU 指令级的一种锁。
      • 同时该指令会将当前处理器缓存行的数据直接写会到系统内存中,且这个写 回内存的操作会使在其他 CPU 里缓存了该地址的数据无效。

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?