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

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

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

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


串行:单条队列的执行

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

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


并行:多核计算机的突破

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

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


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

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

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

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


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

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

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

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

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

你可能感兴趣的文章
Redis 限速器及问题
查看>>
php中高级基础知识点
查看>>
php中,如何将编译后的代码,反编译回去。
查看>>
php之aop实践
查看>>
PHP之APC缓存详细介绍(转)
查看>>
php之memcache,memcached
查看>>
php之引用
查看>>
PHP之数组和函数的基本教程
查看>>
UVa 10465 - Homer Simpson
查看>>
php九九乘法表加粗,PHP九九乘法表
查看>>
PHP二维数组将重复键值合并重组成三维数组
查看>>
PHP二维数组转换为一维数组
查看>>
PHP二维数组重组
查看>>
PHP交换两个变量值
查看>>
php代码执行完整流程介绍
查看>>
PHP代码格式化工具phpcf常见问题解决方案
查看>>
PHP使用3DES算法加密解密字符串
查看>>
PHP使用curl multi要注意的问题:每次使用curl multi同时并发多少请求合适
查看>>
php使用memcached扩展的一个BUG
查看>>
PHP内核介绍及扩展开发指南—基础知识
查看>>