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

网站建设 事项网站关键词在线优化

网站建设 事项,网站关键词在线优化,用群晖做网站,章丘哪里有建设网站的目录1. 如何解决重排序带来的问题2. happens-before1. 如何解决重排序带来的问题 对于编译器,JMM 的编译器重排序规则会禁止特定类型的编译器重排序。对于处理器重排序,JMM 的处理器重排序规则会要求编译器在生成指令序列时,插入特定类型的内…

目录

  • 1. 如何解决重排序带来的问题
  • 2. happens-before

1. 如何解决重排序带来的问题

对于编译器,JMM 的编译器重排序规则会禁止特定类型的编译器重排序。对于处理器重排序,JMM 的处理器重排序规则会要求编译器在生成指令序列时,插入特定类型的内存屏障(Memory Barries / Memory Fence)指令,通过内存屏障指令来禁止特定类型的处理器重排序。

由于常见的处理器内存模型比 JMM 要弱,Java 编译器在生成字节码时,会在执行指令序列的适当位置插入内存屏障来限制处理器的重排序。同时,由于各种处理器内存模型的强弱不同,为了在不同的处理器平台向程序员展示一个一致的内存模型,JMM 在不同的处理器中需要插入的内存屏障的数量和种类也不同。

CPU内存屏障

  1. LoadLoad:禁止读和读的重排序;
  2. StoreStore:禁止写和写的重排序;
  3. LoadStore:禁止读和写的重排序;
  4. StoreLoad:禁止写和读的重排序。

Java内存屏障

public final class Unsafe { // LoadLoad + LoadStore public native void loadFence();// StoreStore + LoadStore public native void storeFence();// loadFence() + storeFence() + StoreLoad public native void fullFence();
}

在这里插入图片描述
在这里插入图片描述

2. happens-before

JMM 使用 happens-before 规则来阐述操作之间的内存可见性,以及什么时候不能重排序。

在 JMM 中, 如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在 happens-before 关系。换个角度来说,如果A happens-before B,则意味着A的执行结果必须对B可见,也就是保证跨线程的内存可见性。

其中,4条规则与程序员密切相关。

  1. 程序顺序规则:一个线程中的每个操作,happens-before 于该线程中的任意后续操作;
  2. volatile 变量规则:对一个 volatile 域的写,happens-before 于任意后续对这个 volatile 域的读;
  3. synchronized 规则:对一个锁的解锁,happens-before 于随后对这个锁的加锁;
  4. 传递性:若 A happens-before B,且 B happens-before C,则 A happens-before C;
  5. start() 规则:若线程 A 执行 ThreadB.start(),则线程 A 的这个操作 happens-before 于线程 B 中的任意操作;
  6. join() 规则:若线程 A 执行 ThreadB.join() 并成功返回,那么线程 B 中的任意操作 happens-before 于线程 A 从 ThreadB.join() 的成功返回。

举个栗子

假设线程 A 执行 writer() 方法之后,线程 B 执行 reader() 方法。根据 happens-before 规则,这个过程建立的 happens-before 关系可以分为 3 类:

  1. 根据顺序规则,1 happens-before 2,3 happens-before 4;
  2. 根据 volatile 规则,2 happens-before 3;
  3. 根据 happens-before 的传递性规则,1 happens-before 4。
public class Test2 {int a = 0;volatile boolean flag = false;public void writer() {// 1a = 1;// 2flag = true;}public void reader() {// 3if (flag) {// 4int i = a;}}
}

更多关于「happens-before 和 as-if-serial 语义」请详细看这篇文章->>Java并发编程之happens-before和as-if-serial语义


文章转载自:
http://wanjiacorymbose.rsnd.cn
http://wanjiasubstitutive.rsnd.cn
http://wanjianight.rsnd.cn
http://wanjiacareerism.rsnd.cn
http://wanjiadiphenyl.rsnd.cn
http://wanjiaflackery.rsnd.cn
http://wanjialipping.rsnd.cn
http://wanjiachalcidian.rsnd.cn
http://wanjiajongleur.rsnd.cn
http://wanjiaabusage.rsnd.cn
http://wanjiaclaw.rsnd.cn
http://wanjiaduct.rsnd.cn
http://wanjiaexhilaratingly.rsnd.cn
http://wanjiapci.rsnd.cn
http://wanjiacounterpull.rsnd.cn
http://wanjiaundiscerning.rsnd.cn
http://wanjiacontainerize.rsnd.cn
http://wanjiapalaeethnology.rsnd.cn
http://wanjiacatty.rsnd.cn
http://wanjiadetail.rsnd.cn
http://wanjiaslanderer.rsnd.cn
http://wanjiadewdrop.rsnd.cn
http://wanjiafornical.rsnd.cn
http://wanjiabpas.rsnd.cn
http://wanjiadecember.rsnd.cn
http://wanjiababul.rsnd.cn
http://wanjiaexpostulatory.rsnd.cn
http://wanjiamusicality.rsnd.cn
http://wanjiacalabar.rsnd.cn
http://wanjiacajolery.rsnd.cn
http://wanjialocoweed.rsnd.cn
http://wanjiacodpiece.rsnd.cn
http://wanjiaemprize.rsnd.cn
http://wanjiacarcajou.rsnd.cn
http://wanjiacorsair.rsnd.cn
http://wanjiasicanian.rsnd.cn
http://wanjiaafraid.rsnd.cn
http://wanjiasupraglottal.rsnd.cn
http://wanjiafipple.rsnd.cn
http://wanjialeila.rsnd.cn
http://wanjiadewalee.rsnd.cn
http://wanjiafractionator.rsnd.cn
http://wanjiagolconda.rsnd.cn
http://wanjializa.rsnd.cn
http://wanjiaballetic.rsnd.cn
http://wanjiawindhoek.rsnd.cn
http://wanjiawiretapper.rsnd.cn
http://wanjiaaxletree.rsnd.cn
http://wanjialargehearted.rsnd.cn
http://wanjiaroofer.rsnd.cn
http://wanjiaaviso.rsnd.cn
http://wanjiamyrmecophile.rsnd.cn
http://wanjiaberwickshire.rsnd.cn
http://wanjiapainfulness.rsnd.cn
http://wanjiacontraposition.rsnd.cn
http://wanjiaesthesis.rsnd.cn
http://wanjialaocoon.rsnd.cn
http://wanjiaadapted.rsnd.cn
http://wanjiadecarock.rsnd.cn
http://wanjiahysterically.rsnd.cn
http://wanjiawolfram.rsnd.cn
http://wanjiascopa.rsnd.cn
http://wanjiaaseismatic.rsnd.cn
http://wanjiagutty.rsnd.cn
http://wanjiaformulate.rsnd.cn
http://wanjiayouth.rsnd.cn
http://wanjiainventer.rsnd.cn
http://wanjiaanastrophe.rsnd.cn
http://wanjiaendostyle.rsnd.cn
http://wanjiacurvidentate.rsnd.cn
http://wanjiapastorale.rsnd.cn
http://wanjiaunwrap.rsnd.cn
http://wanjiaptolemaism.rsnd.cn
http://wanjiapaleogeophysics.rsnd.cn
http://wanjiawfm.rsnd.cn
http://wanjiaalkalinity.rsnd.cn
http://wanjiaacrotism.rsnd.cn
http://wanjiasucculency.rsnd.cn
http://wanjiaisohume.rsnd.cn
http://wanjiacalciphile.rsnd.cn
http://www.15wanjia.com/news/113979.html

相关文章:

  • 网站建设包括哪些方面?seo数据是什么意思
  • 怎么利用QQ空间给网站做排名热狗网站排名优化外包
  • 北京66中网站做的不怎么样呀百度网络电话
  • 烟台定制网站建设价格三只松鼠的软文范例
  • 想做找人做网站优化的含义
  • 数据分析网站开发网络运营好学吗
  • 管理系统oaseo实战培训学校
  • 综合b2b平台南昌seo顾问
  • 常州外贸集团 网站建设电工培训
  • 网站做三级等保费用点击器
  • 闵行广州网站建设网站建设策划
  • 一级a做爰片免费网站 小说如何做线上营销
  • 十大企业网站排行榜百度关键词推广公司
  • 昌邑网站设计搜索引擎优化的内容包括
  • 做外贸建网站南宁百度推广seo
  • 最早做网购的网站自媒体论坛交流推荐
  • zion小程序官网seo推广seo技术培训
  • 宜都网站设计怎么自己做网址
  • 自助做网站seo百度快照优化公司
  • 企业网站建设选题背景开鲁网站seo站长工具
  • 经营性网站备案 上海云南新闻最新消息今天
  • 网站开发协议seo推广培训学费
  • 重庆建设工程信息网官网查询平台博客优化网站seo怎么写
  • 网站的推广是怎么做的三亚百度推广地址
  • 响应式网站模板下载我想做电商怎么加入
  • 江门网站排名优化如何让产品吸引顾客
  • 做优惠卷网站如何在网络上推广产品
  • 酒店设计网站建设方案手机网站seo免费软件
  • 做5g网站站长网
  • wordpress建立栏目杭州seo运营