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

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

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

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


串行:单条队列的执行

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

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


并行:多核计算机的突破

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

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


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

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

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

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


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

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

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

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

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

你可能感兴趣的文章
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
查看>>
Python切片对象和__getitem__
查看>>
python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
查看>>