串行、并行和并发

 串行、并行和并发

并行和并发

并发:1.一个处理器。2.逻辑上的同时运行

并行:2.多个处理器。2.物理上的同时运行

并发:一个咖啡机,交替

并行:多个咖啡机

 

并行:真正的“同时”运行,在同一时刻,有多个任务同时执行。(例如,在多核处理器上,有两个线程同时执行同一段代码。)

可见,单核处理器是无法实现并行的,因为单核处理器无法在同一时刻执行多个任务。

并发:两个或多个任务可以在重叠的时间段内启动,运行和完成

并行(多个线程同时执行) 一定是并发,并不一定意味着并发一定要求是并行(包含关系)

并发性

不同的部分可以无序或同时执行,且不影响最终的执行结果

并发性是之中性质,程序如果想要并发或是并行的执行,前提条件就是具有并发性。并发性是并发或者并行的前提条件和必要条

件。

在讲并发的时候,最好能明确一下,指的是程序运行时后的并发,还是程序具有并发性。这样才能做到概念清晰

 

串行并行并发是计算机科学中的重要概念,用于描述执行任务的方式: 1. **串行**(Sequential Execution): 在串行执行中,程序或任务按照严格的线性顺序执行,每个步骤完成后才会进行下一个步骤。这是最基本的执行模式,类似于单线程处理,每个任务只有一个执行路径。 2. **并行**(Parallel Execution): 并行执行是指同时执行多个独立的任务或操作。在计算机系统中,这通常发生在具有多个处理器核心或多个计算单元的硬件上,这些核心或单元可以同时处理不同的部分,提高了整体的执行速度。 3. **并发**(Concurrent Execution): 并发不同于并行,虽然它们都涉及多个任务同时运行,但并发通常发生在单个处理器或核心上。并发通过时间分片(time slicing)技术,让多个任务轮流使用处理器资源,给用户感觉像是同时进行的。在操作系统层面,虽然任务不是真正同时执行,但它们在宏观上看是相互交错的。 **主要区别:** - **并行**强调的是物理上的同时执行,多个任务或操作在硬件级别上是同步的。 - **并发**则是在单个处理器上模拟并行,通过调度和时间片轮转实现任务的交替执行,感知上是“同时”的,但实际上不是真正的并行。 - **串行**是最简单的执行模型,没有并发并行的优势,效率较低。 **相关问题--:** 1. 并行执行通常需要什么样的硬件支持? 2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值