串行、并行与并发

    假设我们有3件事情(事情A、事情B和事情C)要完成,完成每件事情所需的时间包括实际投人时间(如做些准备活动所需的时间)和等待的时间,完成这些事情所需的时间为:事情A耗时15分钟(实际投入5分钟,等待10分钟)、事情B耗时10分钟(实际投人2分钟,等待8分钟)、事情C耗时10分钟(实际投入10分钟,无等待耗时)。那么,我们有3种方式来完成这几件事情,如图所示:


串行( Sequential):如图(a)所示。先开始做事情A,待其完成之后再开始做事情B,依次类推,直到事情C完成。这实际上顺序逐一完成几件事情,只需要投入一个人。在这种方式下3件事情总共耗时35(15+10+10)分钟。

 

并发( Concurrent):如图(b)所示。这种方式也可以只投入一个人。这个人先开始做事情A,事情A旳准备活动做好后(此时消耗了5分钟),在等待事情A完成的这段时间内他开始做事情B。为事情B的准备活动花了2分钟之后,在等待事情B完成的这段时间内他开始做事情C,直到10分钟之后事情C完成。这整个过程实际上是以交替的方式利用等待某件事情完成的时间来做其他事情。在这种方式下3件事情总共耗时17(5+2+10)分钟,这比第1种方式节约了一半多的时间。

 

并行( Parallel):如图(c)所示。这种方式需要投入3个人,每个人负责完成其中一件事情。这3个人在同一时刻开始齐头并进地完成这些事情。在这种方式下3件事情总共耗时15分钟(取决于耗时最长的那件事情所需的时间),比并发的方式节约了2分钟的时间。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值