并发和并行并不是一个意思。
并行:是严格的多CPU同时执行。
并发,并不是严格的同时执行,而是以时间片为单位交替执行,所以不需要多处理器。
并发例子:
一个并发程序是指能同时执行通常不相关的各种任务。
以一个游戏服务器为例子:它通常是有各种组件组成,每种组件都跟外部世界进行着复杂的信息交互。
一个组件有可能要处理多个用户聊聊;另外一些可能要处理用户的输入,并把最新状态反馈给用户;其它的用来进行物理计算。
这些都是并发处理。
并发程序并不需要多核处理器。
并行例子:
相比之下,并行程序是用来解决一个单一任务的。以一个试图预估某支股票价格在下一分钟波动情况的金融组件为例,如果想最快速度的知道标普500中哪知股票应该卖出还是买进,你不能一个一个的计算,而是将这些所有的股票同时计算。这是并行。

本文阐述了并发和并行的概念,指出并发并非同时执行,而是以时间片交替执行,不需要多处理器即可实现。通过游戏服务器的例子,展示了并发处理的实际应用场景。接着,对比并行程序,解释其用于解决单一任务的特性,以金融组件快速计算股票价格波动为例说明。文章旨在清晰区分这两种技术,并提供实例加深理解。
1374

被折叠的 条评论
为什么被折叠?



