首页 > 编程知识 正文

并发和并行的例子,并行与并发的关系

时间:2023-05-03 15:15:24 阅读:166582 作者:1704

“同时”(concurrency )是问题域中的概念。 程序必须设计为能够处理同时(或几乎同时)发生的多个事件。 并行(parallellism )是一个方法域的概念,它通过并行执行问题的多个部分来加速问题的解决。

引用Rob Pike的经典说明:

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

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

理解:

解释1 )并行是指两个或多个事件在同一时间发生; 同时是指两个或多个事件以相同的时间间隔发生。

解释2 )并行是不同实体上的多个事件,并行是同一实体上的多个事件。

解释3 )在一个处理器上“同时”处理多个任务,在多个处理器上同时处理多个任务。 例如hadoop分布式集群

一般说明:

同时性:交替做不同事情的能力

并行:同时做不同事情的能力

专业术语:

并发:不同的代码块交替执行

并行:不同的代码块同时执行

例如:我在玩游戏。 现在打来电话,楼下有快递去取。

串行方式:去取快递必须结束游戏。

并行方式:让她帮忙收快递,继续游戏。 会不会被杀? )

同时方式:自己去拿快递,继续回去玩游戏。

通过实例可以看出,串行方式和并发方式存在差异。 串行方式必须做完一件事,才能继续做第二件事。

然后,并行的方法可以是一件事做一部分,然后做第二件事,继续做第一件事。 同时,我做了第一件事,

找第二个人做第二个人的事。

上面的例子说明了玩游戏和收快递这两件事是在同一时刻发生的。 这是并行的。 在同一个时间间隔我们可以把间隔当成一天,在同一天做两件事:玩游戏和取快递。

对应的解释2是,并行由我和她两个实体进行,并行由我自己这一个实体进行。

对应的解释3,这同时也是相对的,按天,我今天同时玩了游戏和快递。 但是,以分钟为单位是不同的。

多个处理器应对多人,处理多个任务。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。