美文网首页Java基础
并发与并行的区别

并发与并行的区别

作者: 子斌 | 来源:发表于2016-08-15 21:52 被阅读1044次
  • 并发:一个处理器同时处理多个任务。
  • 并行:多个处理器或者是多核的处理器同时处理多个不同的任务.

前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.

  • 并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。
  • 并行(parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行。

来个比喻:并发和并行的区别就是一个人同时吃三个馒头和三个人同时吃三个馒头。

并发与并行的区别

下图反映了一个包含8个操作的任务在一个有两核心的CPU中创建四个线程运行的情况。假设每个核心有两个线程,那么每个CPU中两个线程会交替并发,两个CPU之间的操作会并行运算。单就一个CPU而言两个线程可以解决线程阻塞造成的不流畅问题,其本身运行效率并没有提高,多CPU的并行运算才真正解决了运行效率问题,这也正是并发和并行的区别。


双核四线程运行示意图

相关文章

  • JS异步编程相关知识点

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

  • 2019-08-01

    并行与并发的区别

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

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

  • 异步编程

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

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

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

  • 温故之.NET 中的并行并发概念解析

    这篇文章主要讲解并行与并发的概念,以及它们之间的区别与联系 为了说明白并行与并发的区别,我们举了两个例子。我们先看...

  • iOS 多线程技术总结

    概览 进程与线程的概念 多线程的由来 并行与并发 多线程的实现 串行与并行 线程的几种状态 串行队列与并发队列区别...

  • 2018-05-18java多线程

    并行与并发的区别 并行:多个线程同时进行,要依赖多个cpu实现,并发:cpu在线程之间切换,宏观上实现并行 1.线...

  • GCD篇(1)

    GCD的队列有两种,一种是串行队列,一种是并发队列。 并行与并发的区别 并发(concurrency) 并行(pa...

  • 并发与并行区别?

    1、并发与并行,都是为了让计算机同时能够做更多的事情。 2、英语翻译 concurrency (并发)、paral...

网友评论

  • c3430ecf783a:谢谢,看了这篇终于搞明白了并行和并发。
  • freeman0432:馒头这个比喻有点欠妥吧,馒头被消耗,馒头应该是资源,所以cpu应该比喻成馒头。
    改成:并发和并行的区别就是三个人轮流吃一个馒头和三个人同时吃三个馒头。
    更恰当的比喻是:车流不断地单车道和3车道。

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

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