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

网站开发找哪家医院做网站开发

网站开发找哪家,医院做网站开发,山东网站营销推广费用,网络优化行业的发展前景前言 在程序执行时#xff0c;为了提高性能#xff0c;编译器和处理器会对指令进行重排序。 为了明确定义多线程场景下重排序的问题#xff08;可见性、有序性、原子性#xff09;#xff0c;Java引入了JMM(Java Memory Model)#xff0c;也就是Java内存模型。JMM为JAV…前言 在程序执行时为了提高性能编译器和处理器会对指令进行重排序。 为了明确定义多线程场景下重排序的问题可见性、有序性、原子性Java引入了JMM(Java Memory Model)也就是Java内存模型。JMM为JAVA程序员提供了8条规则即happen-before原则。根据happen-before原则就可以在不理解复杂的重排序规则情况下解决因重排序而导致的多线程间可见性、有序性等问题。 happen-before原则 两个操作具有happen-before关系并不意味着前一个操作比后一个操作先执行happen-before仅要求前一个操作的执行结果对后一个操作可见。 可以将happen-before原则分两部分理解单线程与多线程环境下的happen-before。单线程下通过语义分析数据依赖关系编译器和处理器可以合理的优化我们的代码。但是多线程情况下不同线程间的数据依赖关系有我们定义处理器与编译器都无法通过分析感知。 happen-before原则定义了某些特定场景下多线程间的数据依赖关系。即happen-before原则是对单线程环境下的指令重排序以及多线程环境下的线程间数据的一致性进行的约束。 对八条原则的理解来自牛有肉happen-before原则的理解 (1) 单线程happen-before原则在同一个线程中书写在前面的操作happen-before后面的操作。 首先是单线程的 happen-before 前面的操作产生的结果必须对后面的操作可见。而不是前面的操作必须先于后面的操作执行比如按照 as-if-serial 语义没有数据依赖的两条指令是可以进行重排序的。而这种情况对于 happen-before 原则来说因为两条指令都没有产生对方需要的结果而不需要对对方可见及时执行顺序被调转也是符合 happen-before 原则的。 (2) 锁的happen-before原则同一个锁的unlock操作happen-before此锁的lock操作。 个人理解强调的是解锁操作在多线程环境的可见性。一个线程进行了解锁操作对于晚于该操作的加锁操作必须能够及时感应到锁的状态变化。解锁操作的结果对后面的加锁操作一定是可见的无论两个是否在一个线程。 (3) volatile的happen-before原则 对一个volatile变量的写操作happen-before对此变量的任意操作。 对 volatile 变量的写操作的结果对于发生于其后的任何操作的结果都是可见的。x86 架构下volatile 通过内存屏障和缓存一致性协议实现了变量在多核心之间的一致性。 (4) happen-before的传递性原则 如果A操作 happen-before B操作B操作happen-before C操作那么A操作happen-before C操作。 happen-before 可以说是两项操作之间的偏序关系满足偏序关系的各项性质我们都知道偏序关系中有一条很重要的性质传递性所以happen-before也满足传递性。这个性质非常重要通过这个性质可以推导出两个没有直接联系的操作之间存在happen-before关系 (5) 线程启动的happen-before原则同一个线程的start方法happen-before此线程的其它方法。 start 放法与其它方法可能并没有数据依赖关系但是显而易见的为了程序的正确性我们必须做到这一点。start 方法造成的函数副作用必须对其它方法可见。 (6) 线程中断的happen-before原则对线程interrupt方法的调用happen-before被中断线程的检测到中断发送的代码。 interrupt 方法改变的状态必须对后续执行的检测方法可见。 (7) 线程终结的happen-before原则线程中的所有操作都happen-before线程的终止检测。 为了安全的关闭线程线程中的方法造成的函数副作用必须对线程关闭方法可见。 (8)对象创建的happen-before原则一个对象的初始化完成先于他的finalize方法调用。 单线程下对象的创建于销毁存在数据依赖该条原则强调的是多线程情况下对象初始化的结果必须对发生于其后的对象销毁方法可见。
http://www.huolong8.cn/news/219708/

相关文章:

  • 便宜网站建设公司哪家好商标注册号在哪个位置
  • 茂名公司网站设计网站建设推广工作描述
  • 郑州百度网站快速优化软文营销经典案例优秀软文
  • 单位网站设计流程步骤wordpress适合视频网站吗
  • 怎么看一个网站是谁做的虚拟主机wordpress解压位置
  • 免费行情网站推荐广州10大网站服务品牌
  • 彩票型网站建设做企业网站的代码
  • iis不用dns解析还有什么办法也能一个ip对应多个网站吗seo批量建站
  • 网站首页流程图网站最近不收录
  • 在中国建设工程造价管理协会网站开封市建设中专网站
  • 做网站包含的技术营销策略ppt模板
  • 减肥单页网站一流的常州网站优化
  • 新乡手机网站建设电话网站建设申请域名
  • 网站制作网址搜索引擎优化代理
  • 建设申请网站首页wordpress 主题替换
  • 电子商务在酒店管理网站建设抖音小程序定制
  • 项目经理网站开发流程做营销型网站哪家好
  • 闲鱼钓鱼网站怎么做公网ip做网站
  • 成都有实力的网站建设合肥房产网最新楼盘
  • 蚌埠做网站有哪些公司太原市住房与城乡建设厅网站
  • 湛江哪家公司建网站最好网站服务器免费吗
  • 网站备案ip查询天眼查企业信用查询
  • 四川网站建设企业网站制作江门网站制作软件
  • 一级站点和二级站点区别用手机做网站的流程
  • 公共网站怎地做网站界面诊断
  • 男女做暧网站网站彩票代理怎么做
  • html5国内网站欣赏网站字体大小合适
  • 网站有吗免费的dw网页设计图片轮播切换
  • 那个旅游网站做攻略最好app模板
  • 青岛商网站建设googleseo排名公司