博客
关于我
吃个快餐都能学到串行、并行、并发
阅读量:232 次
发布时间:2019-02-28

本文共 976 字,大约阅读时间需要 3 分钟。

串行、并行、并发:一场关于计算机资源利用的快餐之旅

在计算机科学中,串行、并行和并发是描述程序执行方式的三个关键概念。这些概念帮助我们理解如何高效地利用计算资源。让我们通过一个贴近生活的案例——快餐店的排队方式——来探讨这三个概念。


串行:单条队列的执行

在快餐店,排成一条队是最常见的排队方式。顾客一个接一个地排队,等待服务员为他们点单。这种方式与计算机中的串行执行方式类似。在串行环境下,计算机只能执行一个任务,一个任务完成后,才能开始下一个任务。就像你在排队时,每个顾客都需要等到前面的人完成所有步骤,才能轮到自己。

例如,在早期的单核计算机中,所有任务都只能通过单个CPU来执行。每个任务必须完整执行,才能让下一个任务开始。这就是为什么早期的计算机运行速度相对较慢的原因之一。


并行:多核计算机的突破

当计算机发展到多核时代,串行的限制逐渐显现。现代CPU拥有多个核心,每个核心都能同时执行不同的任务。这就像快餐店在高峰期增加了额外的打菜设备和员工,能够同时为多个顾客服务。在这种情况下,多个任务可以在同一时间内运行,这就是并行的概念。

在多核计算机中,每个核心都能独立处理任务,但每个核心仍然只能处理一个任务。并行执行的效率显著提高,但由于每个任务仍然需要独占一个核心的资源,计算机的总执行能力并未呈指数级增长。


并发:资源共享的高效利用

并发是一个更为复杂的概念。在并发执行中,不同的任务可以共享同一资源。例如,多个任务可以使用同一个CPU和内存,这就像快餐店的结账台:尽管每个顾客都需要走到结账台进行支付,但结账台是一个共享资源。

在计算机领域,并发执行涉及多个任务共享同一资源。例如,多个进程可以共享内存和CPU资源。这种方式能够充分利用计算资源,提高系统的吞吐量。

然而,并发执行也可能带来资源竞争,可能导致任务间的干扰。这需要系统设计者谨慎管理资源分配和任务调度。


计算机世界的映射:从快餐到多核计算机

通过快餐店的排队方式,我们可以清晰地看到串行、并行和并发的区别:

  • 串行:一条队列,任务依次执行。
  • 并行:多个独立的任务同时执行。
  • 并发:任务共享资源,充分利用计算能力。

在计算机领域,这些概念从单核计算机的串行发展,到多核计算机的并行,再到现代并发计算,反映了技术进步的轨迹。理解这些概念对于优化程序性能、提升计算效率至关重要。

转载地址:http://mjdp.baihongyu.com/

你可能感兴趣的文章
Openlayers实战:绘制多边形,导出CSV文件
查看>>
Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
查看>>
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(2/20):清除所有图层的有效方法
查看>>
Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
查看>>
Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
Openlayers:DMS-DD坐标形式互相转换
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenLDAP(2.4.3x)服务器搭建及配置说明
查看>>
OpenLDAP编译安装及配置
查看>>
Openmax IL (二)Android多媒体编解码Component
查看>>
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>
OpenMCU(三):STM32F103 FreeRTOS移植
查看>>