当前位置: 首页 > wzjs >正文

南宫网站建设个人网页设计作品模板

南宫网站建设,个人网页设计作品模板,网站开发播放大视频卡顿,自建网站如何备案volatile是java的关键字,作用:①保证线程间的可见性;②防止指令重排。下面看一个demo,启动2个线程,一个线程读取flag变量的值,另外一个线程修改flag变量的值。 public class VolatileDemo {private static…

        volatile是java的关键字,作用:①保证线程间的可见性;②防止指令重排。下面看一个demo,启动2个线程,一个线程读取flag变量的值,另外一个线程修改flag变量的值。

public class VolatileDemo {private static int flag = 0;//private volatile static int flag = 0;public static void main(String[] args) {new Thread(){@Overridepublic void run() {int localFlag = flag;while (true){if (localFlag != flag){System.out.println("读取到被修改的flag值为:"+flag);localFlag = flag;}}}}.start();new Thread(){@Overridepublic void run() {int localFlag = flag;while (true){System.out.println("flag被修改为了:"+ ++localFlag);flag = localFlag;try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}}.start();}
}

        执行2遍,区别是否有volatile的修饰,执行结果如下。

        为什么使用volatile关键字,就能保证线程之间变量的可见性?它是如何做到的?如下图是该例的java内存模型。其实java内存模型的实现,是参考了CPU缓存模型。CPU缓存不一致的问题,早期是用总线加锁机制来实现,但是效率太差,很容易出现串行化的问题。

        后来常用MESI协议:MESI(Modified Exclusive Share Invalid)(也称伊利诺斯协议)是一种广泛使用的支持写回策略的缓存一致性协议,该协议被应用在 Intel 奔腾系列的 CPU 中。当一个 CPU 修改了 高速缓存中的数据,会通知其他缓存了这个数据的 CPU,其他 CPU 会把 自己高速缓存 中这份数据置为无效,要读取数据的话,直接去内存中获取,不会再从缓存中获取了。

        如下图java内存模型:线程的工作内存和主内存,read(从主存读取),load(将主存读取到的值写入工作内存),use(从工作内存读取数据来计算),assign(将计算好的值重新赋值到工作内存中),store(将工作内存数据写入主存),write(将store过去的变量值赋值给主存中的变量)。

        那volatile到底是如何保证可见的?结合上图的java内存模型,如果该变量是volatile修饰的,那assign操作后,一定会强制保证立马执行store + write,刷回到主内存里去。同时会让其他线程工作内存里的flag变量过期,从主内存重新读取。

http://www.dtcms.com/wzjs/256202.html

相关文章:

  • 网站ip段屏蔽抚顺seo
  • 无极电影谷歌seo 外贸建站
  • 网站分页设计作用seo sem优化
  • 如何用微信建设网站卖东西seo资料站
  • 建设网站熊掌号网站批量收录
  • 德国ba保镖商城网站哪个公司做的前端培训哪个机构靠谱
  • 泰安网站制作工作室广州网站营销seo费用
  • 淘宝客建网站seo网站推广seo
  • 网站开发成功案例开封seo推广
  • 网站式小程序郑州厉害的seo顾问
  • 武汉做网站佳搜索推广代运营
  • 济南网站建设建站深圳网络营销技巧
  • 网页模板好的网站好小程序开发工具
  • 深圳做外贸网站公司网站seo优化是什么意思
  • 免费建站的seo公司是做什么的
  • 网上兼职网站怎么做的海阳seo排名优化培训
  • 内蒙建设厅投诉网站今日舆情热点
  • 网站logo织梦怎么做百度推广联系方式
  • c 网站开发简单实例百度识图网页入口
  • 网站建设案例分析一站式推广平台
  • 做网站的人属于什么行业西安网站建设公司排名
  • 网站产品详情页怎么做龙岗seo网络推广
  • 网站没有备案是假的吗产品宣传方案
  • 连云港外贸网站建设seo搜索引擎优化就业指导
  • 天津网站建设网页设计公司搜索引擎营销的特点是什么
  • 企业网站建设原则今日新闻头条新闻最新
  • 旅游网站的设计西地那非片能延时多久
  • 怎样设计个人网站营销策划的重要性
  • 英国T4学生签证 可以做网站吗南通做网站推广的公司
  • 泰州网站建设多少钱2024年新闻摘抄十条