美文网首页
并行和并发的区别

并行和并发的区别

作者: 梁帆 | 来源:发表于2021-12-13 18:41 被阅读0次

首先要明确,这两者的英文名称也是不一样的。

  • 并行:parallellism
  • 并发:concurrency

一、并行(parallellism)

指在同一时刻,有多条指令在多个处理器上同时执行。
所以无论从微观还是从宏观来看,二者都是一起执行的。


并行

二、并发(concurrency)

指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。


并发

三、与处理器的关系

并行(parallellism)只在多处理器系统中存在。

在一个单核系统中,是没有办法做到真正的并行(parallelism)的;只要当一个系统是多核的情况下,当一个CPU执行线程1时,另一个线程可以执行线程2,两者之间才能真正互不抢占CPU资源。也才能做到真正的并行:parallelism。

并行(concurrency)可以在多处理器或者单处理器的系统中存在。

我们知道在单核的情况下,CPU是不可能真正同时执行一个以上的线程的,但是它可以把 CPU 运行时间划分成若干个时间段,再将时间段分配给各个线程执行。这样在一个时间段的线程代码运行时,其它线程处于挂起状态,在你的观察视角足够宏观的情况下,能达到多个线程同步并列执行的假象。这就是并发:concurrency。

相关文章

  • JS异步编程相关知识点

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

  • 10.1 并发(concurrency)和并行(parallel

    10.1 并发(concurrency)和并行(parallelism)区别问题一:并发与并行的区别? 异步和这小...

  • 异步编程

    并发(concurrency)和并行(parallelism)区别 涉及面试题:并发与并行的区别? 异步和这小节的...

  • Java面试题(二):多线程

    五、多线程 35. 并行和并发有什么区别? 并发(concurrency)和并行(parallellism)是: ...

  • ObjC-多线程之GCD

    介绍 基本概念 串行和并行 并发和并行 下图描述的就是并发和并行的区别。 同步和异步 函数说明 Dispatch ...

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

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

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

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

  • GCD介绍

    本文罗列一下GCD基础知识。 并行和并发 在英文世界里,并行 和 并发 的区别比较清晰,并行 对应 paralle...

  • 多线程技术应用一

    [TOC] 线程的基本概念 并行和并发的区别 并发(concurrency)和并行性(parallel)是两个概念...

  • Golang学习笔记之并发.协程(Goroutine)、信道(C

    Go是并发语言,而不是并行语言。 一、并发和并行的区别 •并发(concurrency)是指一次处理大量事情的能力...

网友评论

      本文标题:并行和并发的区别

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