[并发概念] 串行、并行与并发

串行和并行

串行是排队一个一个处理任务,并行是同时处理多个任务。
在这里插入图片描述

并发和并行

概念非常相似,难以区分。分别体现在两个方面。

  • 并发(Concurrency),体现在(1)单个处理器;(2)逻辑上同步运行。
  • 并行(Parallelism),体现在(1)多处理器,多核心;(2)物理上同步运行。

并行的理解

并行,是真正的同时运行–在同一个时刻多个任务同时执行。例如多核处理器上,有多个线程同时执行同一段代码。单核处理器无法在同一时刻执行多个任务,因此无法并行。

并发的理解

并发有两种描述,一种是形容多个任务的执行状态;另一种是对“并发性”的简称。

多任务执行状态

因为处理器处理特别快,看上去像同步执行。

  • 两个或者多个任务可以在某个重叠的时间段中启动、运行、完成。
  • 并行(多个线程同时执行)一定是并发,两者是包含关系。

在这里插入图片描述

3个线程由一个CPU交替执行(并发)。
在这里插入图片描述

3个线程同时由多个CPU执行(并行且并发)。

“并发性”的简称

程序的部分可以无序或者同时执行,且不影响最终的执行结果,表示程序具有并发性。

“并发性”在不同核心数计算机上有着不同的表现。对于多核CPU,可以做到真实的同时运行,即并行;对于单核CPU,可以通过多个线程切换时间片交替运行,实现并发。

是什么让并发和并行成为了可能

  1. CPU的升级。单核CPU一次只能处理一条指令,基于此增加核心数,多线程处理任务,提高效率。
  2. 操作系统的升级。单核CPU可以通过抢占式调度实现多个线程的切换;多线程如何分配核心是有操作系统来决定,开发人员只需要创建并运行多个线程。
  3. 编程语言的升级–支持多线程。
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值