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

茶陵网站建设wordpress典

茶陵网站建设,wordpress典,盐城网站建设小程序公司,网站策划名词解释并发与并行的概念: 并发:一段时间内(假设只有一个CPU)执行多个线程,多个线程时按顺序执行 并行:同个时间点上,多个线程同时执行(多个CPU) 什么是并发编程? 在现代互联网的应用中,会出现多个请求同时对共享资源的访问情况,例如在买票,秒杀与抢购的场景中 此时就会出现线程安…

并发与并行的概念:

并发:一段时间内(假设只有一个CPU)执行多个线程,多个线程时按顺序执行

并行:同个时间点上,多个线程同时执行(多个CPU)

什么是并发编程?

在现代互联网的应用中,会出现多个请求同时对共享资源的访问情况,例如在买票,秒杀与抢购的场景中

此时就会出现线程安全的问题,并发编程就是通过编程控制多个线程依次执行防止线程安全的问题出现

并发问题产生的根本原因

多核CPU的处理

基于java的内存模型

JMM

JMM全称Java Memory Model表示Java内存模型,是java虚拟机中所进行规范的

java内存模型中规定所有的变量都存储在工作内存中,所有的线程共享工作内存中的变量

每个线程都会有自己私有的工作内存,线程会将工作内存中的共享变量读取到工作内存中作为缓存

 

并发编程解决的核心问题

可见性

可见性指的是线程在对共享变量进行修改之后,其他线程时能够立即知道

现在的多核CPU的处理中单个线程对共享变量进行修改后,其他的线程是不可见的

有序性

有序性是指的代码运行的顺序是按照的编写的顺序运行的

在代码编译运行的过程中,CPU为了提高性能,可能会打乱代码原来的编写顺序,比如需要读取一个读取时间较长的变量时,可能会跳过它去读取速度较快的变量

这是由于CPU的读等待机制造成的,CPU在读取一个读时间长的变量时会去同时读取其他的变量

原子性

原子性指的是操作的原子性,在多个指令操作同时进行时应该保证这多条命令的一致性执行

比如说"i++"这个操作是在高级语言中是一条编程指令,但实际上在CPU执行的时候可以拆分为三条CPU的执行指令,分别是从主内存中读取变量i的值,在工作内存中对变量的值进行操作,然后在对主内存中的值进行更新

如果此时多核的CPU支持线程切换的调度,则会导致"i++"这一条命令还没有执行完成就进行了线程的切换,导致出现的线程安全问题

 

小结

可见性的问题是由缓存导致的,有序性的问题是由编译导致的,原子性的问题是由线程切换导致的

三个问题出发点都是的为了的提高程序的性能,这与并发程序编写的目的是一致的

http://www.15wanjia.com/news/191708.html

相关文章:

  • 网站建设风险是什么意思江西省的建设厅官方网站
  • 做网站公司青岛鞍山网页制作
  • wordpress站点安装郴州网站制作公司地址
  • 文昌网站建设 myvodo微信开发者工具介绍及其优点
  • 江门公司做网站深圳建设工程交易中心宝安中心
  • 免费网站提供微网站栏目图标
  • 官方网站建设的目的创建直播平台
  • php 企业网站框架网络技术挑战赛
  • 登陆网站取消备案网页版微信二维码失效
  • 深圳 汽车网站建设wordpress wifri
  • 广州制作公司网站的公司郑州网站维护
  • 电影网站怎么做不犯法免费网站空间10g
  • 如何自己制作游戏软件seo实训思考与总结
  • 如何做公司宣传网站广州创意设计公司
  • 做php网站教程视频教程网站后台分析图怎么做
  • 网站规划建设方案农业绿化风格人员调动在网站上怎么做
  • 山东鲁中公路建设有限公司网站站内优化包括哪些
  • jsp网站开发用到什么技术国内优秀的企业网站
  • 商城网站程序制作企业网站步骤
  • 提供做网站网站建设小程序
  • 潍坊网站建设公司有哪些内容qq强制聊天网站源码
  • xuzhou公司网站制作win7 iis 默认网站属性
  • 可以做网站的语言资源机
  • 佛山建站专家wordpress+用js
  • 网站佣金怎么做会计科目用个人电脑做服务器建网站
  • 自助建站空间怎么用十大免费绘图软件
  • 南京网站制作费用wordpress 虎嗅2016
  • 网站设计原型图怎么做大数据平台
  • wordpress 资讯站鹿班设计官网
  • 残疾人招聘网站建设东莞企业网站哪家强