怎么在java中使用挥发性禁止指令重排

  介绍

怎么在java中使用挥发性禁止指令重排?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

java是什么

java是一门面向对象编程语言,可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序。

<强> 1,说明

程序执行变到波动量的阅读操作或写作操作时,必须进行前一个操作的所有变化,后一个操作已经看到后一个操作还没有进行。

指令优化时,不能将挥发性变量访问的句子放在后面,也不能将挥发性变量访问的句子放在前面。

一般的变量只能保证该方法在执行过程中所有依赖授权结果的地方都能得到正确的结果,不能保证其顺序与程序代码的执行顺序一致。

<强> 2,实例

 volatile  boolean  initialized =,假;
  ,//,下面代码线程一个中执行//,读取配置信息,当读取完成后将初始化设置为真正以通知其他线程配置可用
  doSomethingReadConfg ();
  时间=initialized 真实;
  ,//,下面代码线程B中执行//,等待initialized 为真的,代表线程一个已经把配置信息初始化完成
  while (初始化),{
  ,,,,睡眠();
  }//,使用线程一个初始化好的配置信息
  doSomethingWithConfig (); 

关于怎么在java中使用挥发性禁止指令重排问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

怎么在java中使用挥发性禁止指令重排