串行(Sequential)、并发(Concurrent)、并行(parallel)与分布...

串行(Sequential)、并发(Concurrent)、并行(parallel)与分布式(distributed)

Posted on 2011/12/28 by erlv

这几个概念是谈到并行时,经常遇到的。说实话,自己一直不是特别的清楚,这篇文章就对这几个概念进行区分。

Table of Contents

1 串行(Sequential)

2 并发(Concurrent)

3 并行(parallel)

4 分布式(distributed)

5 《编译点滴》评

1 串行(Sequential)

串行程序中,程序会顺序的执行每一条指令,在整个程序的运行过程中,仅存在一个运行上下文。即一个调用栈,一个堆。

不存在多个运行上下文。

在传统的命令式语言中,如C/C++,Fortran,Java,C#之类,串行执行是根基。

2 并发(Concurrent)

并发是指,程序在运行的过程中存在多于一个的执行上下文。这些执行上下文一般对应着不同的调用栈。

并发概念的出现,主要有几个方面的原因:

为了更好的反应问题本身的结构。比如图形程序、服务器程序需要同时记录多个任务的运行情况。

所以,需要同时存在多个上下文。

为了利用更多的处理器提升性能。

这个是大家都了解的,这里就不详述了。

为了更方便的应对独立的物理设备。比如,Google的搜索任务要一堆的机器协作完成的。

因此需要同时在每个机器上都有一个程序的上下文运行环境。

3 并行(parallel)

在单处理器上,并发程序虽然有多个上下文运行环境,但某一个时刻只有一个任务在运行。

但在多处理器上,因为有了多个执行单元,就可以同时有数个任务在跑。

这种物理上同一时刻有多个任务同时运行的方式就是并行。

和并发相比,并行更加强调多个任务同时在运行。

而且并行还有一个层次问题,比如是指令间的并行还是任务间的并行。

4 分布式(distributed)

分布式在并行处理的基础上,强调任务正在执行的物理设备,如处理器、内存等等硬件,在物理上是分开的。

5 《编译点滴》评

后三个概念涵盖的范围是:并发>并行>分布式。

虽然串行限制了一个栈、一个堆,一个运行上下文,处理器只能死板的按照指令的序列执行。

但,当有多个栈,多个运行上下文时,就有了很多有趣的做法,可以去应对很多有趣的问题。

并行就意味着多个处理器运行多个进程。程序怎么写?bug怎么调?进程怎么通信?等等很多有意思的问题都一下子冒了出来。

希望能有机会和大家一起学习学习:)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 2,734评论 1 17
  • 一.线程安全性 线程安全是建立在对于对象状态访问操作进行管理,特别是对共享的与可变的状态的访问 解释下上面的话: ...
    黄大大吃不胖阅读 828评论 0 3
  • 本文翻译自 http://www.raywenderlich.com/60749/grand-central-di...
    skogt阅读 1,219评论 2 10
  • 那年今日花未落 ------乐了 突然爱上了秋日 恋上了落叶铺满大地的安宁 落叶终归于土壤 抚平伤痕,...
    nearle阅读 310评论 0 0