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

讲一下并发和并行?

并行是指两个或者多个事件在同一时刻发生:

img

并发是指两个或多个事件在同一时间线内间隔发生:

img

单核 cpu 下,线程实际还是串行执行的。操作系统中有一个组件叫做任务调度器,将 cpu 的时间片(windows下时间片最小约为 15 毫秒)分给不同的程序使用,只是由于 cpu 在线程间(时间片很短)的切换非常快,人类感觉是同时运行的 。总结为一句话就是: 微观串行,宏观并行 。

并行在多处理器系统中存在,而并发可以在单处理器和多处理器系统中都存在,并发能够在单处理器系统中存在是因为并发是并行的假象,并行要求程序能够同时执行多个操作,而并发只是要求程序假装同时执行多个操作(每个小时间片执行一个操作,多个操作快速切换执行)。

link

同一时间/间隔:其实应该这么断句,同一时间/ 间隔发生。同一时间是一起的,间隔发生是一起的。同一时间的意思就是同一条时间段上,间隔发生的意思就是,在这同一个时间段上,有不同的事件间隔发生。

补充解释:

并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。

并发(concurrent)是同一时间应对(dealing with)多件事情的能力

并行(parallel)是同一时间动手做(doing)多件事情的能力

相关文章:

  • JavaScript中call,apply,bind方法的总结
  • PT与PX区别
  • MongoDB MapReduce
  • 同步、异步、阻塞、非阻塞
  • BIO,NIO,AIO,多路复用IO?
  • 【Web API系列教程】3.4 — 实战:处理数据(处理实体关系)
  • 输出由几个无重复数字组成的三位数(内测第0届第3题)
  • 讲一下线程和进程的区别和联系?
  • 正则
  • 讲一下线程状态并且解释一下?
  • windows 和 linux ssh互连
  • 【代码规范】
  • 【程序员眼中的统计学(12)】相关与回归:我的线条如何? (转)
  • 讲一下进程间通讯方式?
  • Docker的文件系统
  • ES6指北【2】—— 箭头函数
  • 【刷算法】从上往下打印二叉树
  • happypack两次报错的问题
  • input实现文字超出省略号功能
  • Javascript基础之Array数组API
  • JavaWeb(学习笔记二)
  • Js基础知识(一) - 变量
  • leetcode-27. Remove Element
  • rabbitmq延迟消息示例
  • React Transition Group -- Transition 组件
  • SpingCloudBus整合RabbitMQ
  • spring boot下thymeleaf全局静态变量配置
  • Vue.js-Day01
  • Windows Containers 大冒险: 容器网络
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 从零开始学习部署
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 原生 js 实现移动端 Touch 滑动反弹
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #define
  • #QT(智能家居界面-界面切换)
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (区间dp) (经典例题) 石子合并
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)http-server应用
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core引入性能分析引导优化
  • .net refrector
  • .Net(C#)常用转换byte转uint32、byte转float等
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [2016.7 day.5] T2
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [Android学习笔记]ScrollView的使用
  • [BZOJ] 2044: 三维导弹拦截