并发与并行

本文详细解释了并发和并行的概念及其在计算机科学中的应用。并发指在单核处理器上多个任务逻辑上交错执行的现象,而并行则指在多处理器环境中多个任务能够同时执行的情况。

并发:是指在时间上重叠的逻辑流。在单核处理器上各逻辑流并不是真正意义上的并行,只是内核提供给我们的错觉,好似我们这条逻辑流正独占CPU。

为了更好理解,见下图:


假设内存中有A,B,C,D四道程序,各自拥有自己的逻辑控制流。在单核处理器中,只有一个物理程序计数器,因此在每个程序运行时,它的逻辑程序计数器被装入实际的程序计数器(pc,保存着CPU要执行的下一条指令所在的内存地址)中,运行一段时间后,或该程序执行结束,或CPU的调度程序保存当前进程上下文,恢复要执行的进程上下文,其中就包括将该进程的逻辑程序计数器装入实际程序计数器中。如图所示,在观察足够长的一段时间后,我们会发现所有的进程都运行过了,但在任何一个给定的瞬间仅有一个进程在真正的运行。

并行:在多处理器上的并发表现,但此时有多个处理器,也就是有多个物理程序计数器,此时就可以同时装载不同控制流指令,至此多控制流达成了真正意义上的并行执行。


打个不是非常恰当的比喻,但也可以从中看出并发与并行的明显区别:

你正在吃饭的时候有一通电话打进来,你放下碗筷去接电话,电话打完后回来继续吃,这叫并发;

你正在吃饭的时候有一通电话打进来,你左手拿着电话,右手拿着筷子夹着菜,这就叫并行。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值