美文网首页
并发 != 并行

并发 != 并行

作者: yijian2595 | 来源:发表于2018-12-19 11:00 被阅读6次

翻译:李莉

欢迎访问网易云社区,了解更多网易技术产品运营经验。

我真的很喜欢听卡尔·休伊特谈论计算机科学,他经常重复的是“并发不等于并行”。对我来说,二者没有什么区别,坦白说,我从来没有认真去研究过它。

上个星期,我偶然发现了Rob Pike关于这个话题的博客——《并发不等于并行》,这促使我最终对此做了一些研究。这是我的收获。

注意:就像生活中的大多数事情一样,很多人认为两者之间是没有区别的。

并发

并发是在相同的时间间隔内执行任务。

这里的重要细节是,任务不一定同时执行,但是它们可以划分为交错在一起的更小的任务。

有一个很好的例子,厨房就经常会有这样并发的情况出现,想象一个厨师在切莴苣的同时还时不时地检查烤箱里的东西的烤制进度。他需要停止切莴苣,检查烤箱,停止检查烤箱,然后再开始切割,并重复这个过程,直到完成。

如上所见,并发主要与逻辑顺序有关,没有并发,厨师必须等到烤箱中的肉准备好才能切莴苣。

并行

并行,从字面上解释是在同一时间同时执行任务,顾名思义,它们是并行执行的。

回到厨房,现在我们拥有2个厨师,一个负责检查烤箱,同时另一位负责切莴苣。我们分别把检查烤箱和切莴苣2件事,同时分派给2个厨师负责。

并行是并发的一个子类:在同时执行多个任务之前,首先必须管理多个任务。

来源

l  Brave Clojure: 并发与并行的神圣艺术

l  Haskell Wiki

l  Rob Pike’s talk

如果你有时间,可以看看卡尔·休伊特和维基百科主持人之间关于并发和并行的幽默交流。

免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 为什么kubernetes天然适合微服务
【推荐】 spring的父子上下文容器及配置
【推荐】 PorterDuffXfermode 图像混合技术在漫画APP中的应用

相关文章

  • 服务器并发设计

    并发与并行 并发技术选型 结构并发 状态并发 集群和负载均衡 并发(Coccurrency)和并行(Paralle...

  • Java并发编程整理之并发与并行概念讲解(1)

    Java并发编程整理之并发与并行概念讲解(1) 并发和并行区别 --[百度]:并发(Concurrent)当有多个...

  • JS异步编程相关知识点

    并发(concurrency)和并行(parallelism)区别 涉及面试题:并发与并行的区别? 并发是宏观概念...

  • Go并发

    并发和并行 Go是并发语言,而不是并行语言。(Go is a concurrent language and no...

  • Golang学习笔记-Goroutines

    并发 首先 go 是一个实现并发的语言,并非并行 并发 vs 并行 并行是在同一时间内,可以同时执行多个任务;并发...

  • 并发简介

    并发基本概念 并发与并行 并发指的是程序的结构,而并行指的是程序运行时的状态。 何谓并发(concurrency)...

  • [转]并发和并行有什么区别

    做并发编程之前,必须首先理解什么是并发,什么是并行,什么是并发编程,什么是并行编程。 并发(concurrency...

  • JVM垃圾回收算法与收集器

    相关概念 并行与并发 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发...

  • 进程线程,并发并行区别

    并发和并行的区别: 先解释一下并发和并行:并发:cpu具有处理多个任务的能力并行:cpu具有同时处理多个任务的能力...

  • <>阅读笔记

    第1章 走入并行世界 并发(Concurrency)和并行(Parallenlism)并发:偏重多个任务交替执行,...

网友评论

      本文标题:并发 != 并行

      本文链接:https://www.haomeiwen.com/subject/mqwdkqtx.html