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

仿皮皮淘网站开发全程培训风景网站模版

仿皮皮淘网站开发全程培训,风景网站模版,dede5.7微电影网站模板,自建站需要注册公司吗《Java并发编程的艺术》书籍 在并发编程中存在两个问题: 线程之间如何通信线程之间如何同步 一、JMM抽象结构 用来控制多线程之间的通信,可见性、有序性、原子性。 线程A如何与线程B进行通信 线程之间并没有直接通信通道,如图所示要想…

《Java并发编程的艺术》书籍

在并发编程中存在两个问题:

  1. 线程之间如何通信
  2. 线程之间如何同步

一、JMM抽象结构

用来控制多线程之间的通信,可见性、有序性、原子性。
在这里插入图片描述

线程A如何与线程B进行通信

线程之间并没有直接通信通道,如图所示要想实现通信需经历:
1)将本地内存A中更新的变量刷新到主内存当中
2)线程B到主内存读取

二、重排序

为什么会进行重排序?简单来说就是提高性能。
有三种类型
1)编译器优化重排序
2)指令级并行的重排序
3)内存系统的重排序

1、重排序带来的问题

在多线程当中重排序可能会改变程序的执行结果,通过在生成指令序列时,插入特定类型的内存屏障指令来禁止重排序。

1.1内存屏障类型

在这里插入图片描述

1.2happens-before

在Java并发编程艺术这本书中写到,happens-before的概念是用来阐述操作之间的内存可见性。
在这里插入图片描述

2、数据依赖关系与控制依赖关系

2.1 什么是数据依赖关系

如果两个操作访问同一个变量,这两个操作中有一个为写操作,此时这两个操作就存在数据依赖关系。有三种类型,写后读、写后写、读后写。在单线程中执行时重排序会遵守数据依赖,编译器和处理器不会改变存在数据依赖关系的两个操作之间的执行顺序。

2.2 什么是控制依赖关系

在判断语句当中例如下列伪代码中,操作1和操作2之间存在着数据控制依赖关系。当存在控制依赖关系时,会影响指令序列执行的并行度。因此编译器和处理器会采用猜测执行来克服控制相关性对并行度的影响。具体来说,处理器可以提取读取和计算i*i,然后临时保存到一个名为重排序缓冲(Record Buffer,ROB)的硬件缓存中,当条件判断为真是,写入到a中。

if(flag){//操作1
a = i*i;//操作2
}
http://www.dtcms.com/wzjs/829246.html

相关文章:

  • 网站建设逻辑组织的几种模型濮阳佳杰网站建设巧用不对称
  • 网站建设推荐北京华网天下推广普通话宣传内容
  • 酒仙网网站推广方式建设网络强国要有自己的技术
  • 服饰网站建设规划书北京网站建设公司 蓝纤科技
  • 企业网站代运营风兰网络
  • 电子商务网站建设与推广实务淮安网站制作设计
  • 上海网站优化公司排名企业网站建设课程设计
  • crm公司百度优化
  • 个人网站创意部署wordpress最应该用什么os
  • 长春h5建站模板好的模板网站
  • 网站建设怎么销售wordpress 代码格式化
  • 有没有人与动物做的电影网站建筑方案设计流程步骤
  • 手机网站模板下载免费17网站一起做网店
  • 嵊州网站上海交通大学网站建设
  • 万年网站建设做优惠券网站要多少钱
  • 免费网站为何收录比较慢公司小程序如何申请
  • 关键词排名优化网站网站正在建设中模板
  • 河南省网站备案如何用txt做网站时增加照片
  • 个人建站网络品牌推广公司
  • wap网站开发作业深圳最近一个星期新闻
  • 贵阳网站建设 赶集网站设计哪家强
  • 大连做网站的公司销售crm客户管理系统
  • 网站搜索引擎优化情况怎么写wordpress博客插件
  • 开一家网站建设公司好wordpress建立数据库失败
  • 免费网站知乎长宁网站推广公司
  • 网站做的比较好的公司网站维护计划
  • 做58网站怎么赚钱吗个人建站什么网站好
  • 河南网站seo免费在线图片制作
  • 无锡网站建设价格费用中国工程预算网
  • 宝洁公司网站做的怎么样可以货代从哪些网站开发客户