精华内容
下载资源
问答
  • 摘要:并发并行是两个既相似而又不相同的概念并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一...

    摘要:并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

      并行介绍

      并行在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。

      并发介绍

      并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。

      并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。

      操作系统并发程序执行的特点:

      并发环境下,由于程序的封闭性被打破,出现了新的特点: ①程序与计算不再一一对应,一个程序副本可以有多个计算

      ②并发程序之间有相互制约关系,直接制约体现为一个程序需要另一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等。

      ③并发程序在执行中是走走停停,断续推进的

      并发和并行的作用

      通过并发和并行能够使得应用程序可以充分利用多核以及GPU的计算能力,从而提高应用程序的性能,比如在以下几个方面中:

      1.使用异步I/O操作可以提高应用程序的响应性。大多数的GUI应用程序都是用单个线程来控制所有UI界面的更新。UI线程不应该被占用过长时间,不然UI界面就会失去对用户的响应。

      2.跨多线程的并行工作可以更好的利用系统的资源。具有多CPU和GPU的现代计算机,通过并行可以指数级的提高CPU计算受限的应用程序的性能。

      3.同时执行多个I/O操作(如同时从多个网站上获取信息)可以提高总体的吞吐量(throughput),等待I/O相应的操作可以用来发起新的操作,或者是处理操作返回的结果。

      并行和并发区别

      区别一:

      并发是指一个处理器同时处理多个任务。并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。

      来个比喻:并发是一个人同时吃三个馒头,而并行是三个人同时吃三个馒头。

      区别二:

      并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。所以无论从微观还是从宏观来看,二者都是一起执行的。

      并行和并发哪个好?并行和并发的概念和区别

      并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。

      并行和并发哪个好?并行和并发的概念和区别

      并行在多处理器系统中存在,而并发可以在单处理器和多处理器系统中都存在,并发能够在单处理器系统中存在是因为并发是并行的假象,并行要求程序能够同时执行多个操作,而并发只是要求程序假装同时执行多个操作(每个小时间片执行一个操作,多个操作快速切换执行)。

      区别三:

      当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状态。这种方式我们称之为并发(Concurrent)。

      当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

      并行和并发哪个好?并行和并发的概念和区别

      总结

      总得来说并行与并发各有其特点,要说它们两者哪个更好,则因情况而定。

    展开全文
  • 并行和并发区别

    2016-07-20 14:01:42
    并行和并发区别所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个...

    并行和并发的区别

    所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。

    并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

    **并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。
    并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。**

    并发,是在同一个cpu上同时(不是真正的同时,而是看来是同时,因为cpu要在多个程序间切换)运行多个程序。

    并行,是每个cpu运行一个程序。

    ==打个比方。并发,就像一个人(cpu)喂2个孩子(程序),轮换着每人喂一口,表面上两个孩子都在吃饭。并行,就是2个人喂2个孩子,两个孩子也同时在吃饭。==

    展开全文
  • 并行和并发有什么区别

    千次阅读 2020-03-13 17:05:05
    并发:是指多个线程任务在同一个CPU上快速地轮换执行,由于切换的速度非常快,给人的感觉就是这些线程任务是在同时进行的,但其实并发只是一种逻辑上的同时进行; 并行:是指多个线程任务在不同CPU上同时进行,是...

     

    • 并发:是指多个线程任务在同一个CPU上快速地轮换执行,由于切换的速度非常快,给人的感觉就是这些线程任务是在同时进行的,但其实并发只是一种逻辑上的同时进行;
    • 并行:是指多个线程任务在不同CPU上同时进行,是真正意义上的同时执行。

    下面贴上一张图来解释下这两个概念:

     

    上图中的咖啡就可以看成是CPU,上面的只有一个咖啡机,相当于只有一个CPU。想喝咖啡的人只有等前面的人制作完咖啡才能制作自己的开发,也就是同一时间只能有一个人在制作咖啡,这是一种并发模式。下面的图中有两个咖啡机,相当于有两个CPU,同一时刻可以有两个人同时制作咖啡,是一种并行模式。

    我们发现并行编程中,很重要的一个特点是系统具有多核CPU。要是系统是单核的,也就谈不上什么并行编程了。
     

    展开全文
  • 并行 并发区别

    2020-04-02 18:08:50
    并发系统与并行系统这两个定义之间的关键差异在于“存在”这个词。 在并发程序中可以同时拥有两个或者多个线程。 这意味着,如果程序在单核处理器上运行,那么这两个线程将交替地换入或者换出内存。 这些线程是同时...
    • 如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统。

    • 如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。

    并发系统与并行系统这两个定义之间的关键差异在于“存在”这个词。
    在并发程序中可以同时拥有两个或者多个线程。
    这意味着,如果程序在单核处理器上运行,那么这两个线程将交替地换入或者换出内存。
    这些线程是同时“存在”的——每个线程都处于执行过程中的某个状态。
    如果程序能够并行执行,那么就一定是运行在多核处理器上。
    此时,程序中的每个线程都将分配到一个独立的处理器核上,因此可以同时运行。
    
    我相信你已经能够得出结论——“并行”概念是“并发”概念的一个子集。
    也就是说,你可以编写一个拥有多个线程或者进程的并发程序,但如果没有多核处理器来执行这个程序,那么就不能以并行方式来运行代码。
    因此,凡是在求解单个问题时涉及多个执行流程的编程模式或者执行行为,都属于并发编程的范畴。
    
    摘自:《并发的艺术》 — 〔美〕布雷谢斯在豆瓣阅读书店查看:https://read.douban.com/ebook/1
    

    在这里插入图片描述

    • 并行是两个队列 同时 使用两台咖啡机

    • 并发是两个队列 交替 使用一台咖啡机

    并发和并行都可以是很多个线程,就看这些线程难能不能同时被(多个)CPU执行,如果可以就说明是并行,而并发是多个线程被(一个)CPU轮流切换着执行。

    摘选自 知乎评论https://www.zhihu.com/question/33515481/answer/105348019


    • 并发(Concurrent):指两个或多个事件在同一时间间隔内发生,即交替做不同事的能力,多线程是并发的一种形式。例如垃圾回收时,用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序在继续运行,而垃圾收集程序运行于另一个CPU上。

    • 并行(Parallel):指两个或者多个事件在同一时刻发生,即同时做不同事的能力。例如垃圾回收时,多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。

    串行

    多个任务,执行时一个执行完再执行另一个。
    比喻:吃完饭再看视频。

    并发

    多个线程在单个核心运行,同一时间一个线程运行,系统不停切换线程,看起来像同时运行,实际上是线程不停切换。
    比喻: 一会跑去厨房吃饭,一会跑去客厅看视频。

    并行

    每个线程分配给独立的核心,线程同时运行。
    比喻:一边吃饭一边看视频。

    展开全文
  • 并行和并发,同步异步的区别

    千次阅读 2018-12-08 01:17:17
    老是忘记并发和并行,同步异步之间的区别,今天写篇博客,加深印象。 并发 & 并行  并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间...
  • 以下概念摘自《疯狂java讲义》《深入理解计算机系统》: 程序进程(Process):  几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是指一个程序。程序进程的主要区别:程序是一个静态的指令集合,...
  • 多线程并行和并发区别是什么? 目录 多线程并行和并发区别是什么? 多线程相关概念 进程 线程 此时再来看多线程并行和并发区别: 并行 并发 多线程相关概念 官方定义是: 多线程是指从软件或者硬件上...
  • 并行并发区别

    2016-11-14 14:36:45
    并行并发区别 并发(concurrent)和并行(parallel)是两个相似但又有区别概念并行是指多个事件在同一时刻发生,而并发是指多个事件在同一时间段发生。在多道程序环境下,并
  • 操作系统中并行和并发概念

    千次阅读 2017-08-13 22:30:45
    在单处理机系统中,下述并行和并发现象哪些可能发生,哪些不会发生? (1) 进程与进程之间的并行; (2) 进程与进程之间的并发; (3) 处理机与设备之间的并行; (4) 处理机与通道之间的并行; (5) 通道与通道之间...
  • [并发概念] 串行、并行与并发

    千次阅读 2019-12-31 07:29:43
    并发和并行 概念非常相似,难以区分。分别体现在两个方面。 并发(Concurrency),体现在(1)单个处理器;(2)逻辑上同步运行。 并行(Parallelism),体现在(1)多处理器,多核心;(2)物理上同步运行。 并行的...
  • 原文1链接:并发和并行有什么区别? 原文2链接:并行和并发区别 解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。解释二:并行是在不同实体上的多个事件;并发...
  • 并发并行这两个概念是令人困惑的,但在go语言的编程中是必须要理解的。并发concurrent 并行parellel 对比并发(concurrent)并发是指两种或两种以上的行为在系统中同时存在,至于这两个行为是否在某一时刻同时“执行...
  • Java中并行并发概念区别并行新的改变功能快捷键 并行 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 ...
  • 什么是并行并发,两者区别

    万次阅读 多人点赞 2017-11-30 17:05:51
    什么是并发? 并发:指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务,如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,已达到"同时执行...
  • 线程进程、并行和并发概念

    千次阅读 2018-05-09 00:20:53
    1.并发并行 总体概念 并发:在单核 CPU 系统中,系统调度在某一时刻只能让一个进程运行,虽然这种调度机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的进程让其运行的方式...
  • 并发和并行区别

    2016-10-26 20:16:48
    并发并行区别
  • 并行_并发概念

    千次阅读 2018-12-28 11:08:57
    并行和并发 1、任务与多任务  关于什么是进程,什么是线程,这里不打算多说,关于每一种开发语言的多线程处理技术语法上有所区别,原理很多类似,可以查阅相关的参考书。什么是任务呢?其实很简单,在我们生活中...
  • 并发和并行及多线程基本概念

    千次阅读 2019-04-11 14:54:55
    并发 并行 同步 异步 多线程
  • 纠错--并发和并行区别

    千次阅读 多人点赞 2019-10-24 19:45:30
    并行和并发性是既相似又有区别的两个概念,再开始分析之前,我们先给出并发和并行概念。 ​ 并行是指两个或多个时间在同一时刻发生。 ​ 并发是指两个或多个事件在同一时间间隔内发生。 ​ 大家看到的图一般...
  • 并行 并发 概念

    2011-01-26 14:53:00
    并行(Parallel),或曰并行代码,或曰并行系统都是讨论有关如何使用现有系统,通过任务分片(breaking into pieces)技术使得所有的任务都可以同时运行,以期提高运行速度。所以假设你要执行某项复杂的任务:将执行...
  • 并发和并行概念

    千次阅读 2020-05-12 22:07:28
    2.并发和并行区别: 所有的并发处理都有排队等候,唤醒执行这三个步骤,所以并发是宏观的观念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上多个...
  • 一、前言     ...我们的操作系统,在一个时间中,只能处理一个线程。...(1)在传统的操作系统中,程序并不能独立运行,作为资源分配独立运行的基本单位都是进程。 ...
  • 并发和并行性二者容易让初学者糊涂 先看下标准说法 并行性:指两个或多个事件在同一时间间隔发生 并发性:指两个或多个事件在同一时刻发生 这里举个生活中例子: 假如你8:00–8:30吃东西,8:30–8:40学习,8:40–8:...
  • 并行并发在计算机编程中是非常重要的两个概念,但是它们常常被混淆。下面我来用一句话来概括,然后用通俗易懂的语言解释并举例说明。 并发:两个任务共享时间片段。在计算的场景中是指,只有一个CPU的情况下,有...
  • JS中 并发(concurrency)和并行(parallelism)区别 1.并发:宏观概念,有两个任务AB,在一段时间内,通过在AB两个任务间切换,来完成两个任务,这种情况较并发 2.并行:微观概念,假设CPU有两个核心,那么我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,082
精华内容 42,032
关键字:

并行和并发概念及区别