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

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

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

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


串行:单条队列的执行

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

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


并行:多核计算机的突破

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

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


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

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

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

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


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

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

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

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

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

你可能感兴趣的文章
Nodejs教程09:实现一个带接口请求的简单服务器
查看>>
nodejs服务端实现post请求
查看>>
nodejs框架,原理,组件,核心,跟npm和vue的关系
查看>>
Nodejs模块、自定义模块、CommonJs的概念和使用
查看>>
nodejs生成多层目录和生成文件的通用方法
查看>>
nodejs端口被占用原因及解决方案
查看>>
Nodejs简介以及Windows上安装Nodejs
查看>>
nodejs系列之express
查看>>
nodejs系列之Koa2
查看>>
Nodejs连接mysql
查看>>
nodejs连接mysql
查看>>
NodeJs连接Oracle数据库
查看>>
nodejs配置express服务器,运行自动打开浏览器
查看>>
Nodemon 深入解析与使用
查看>>
node不是内部命令时配置node环境变量
查看>>
node中fs模块之文件操作
查看>>
Node中同步与异步的方式读取文件
查看>>
Node中的Http模块和Url模块的使用
查看>>
Node中自启动工具supervisor的使用
查看>>
Node入门之创建第一个HelloNode
查看>>