精华内容
下载资源
问答
  • 并行和并发概念及区别
    2019-11-13 23:47:06

    这俩天在网上看了很多篇幅写并行和并发的,但大多感觉差不多,意思都那个意思却不能说的很准确,所以在心中理了一下思路,给自己一个明确的答案,也好为别人指明道路:

    1、并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
    2、并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
    3、并发是在一台处理器上“同时”处理多个任务,并行是在多台处理器上同时处理多个任务。
    4、(自己想法)并行可以理解为一个客服对应一个客户,从开始到结束始终在为他服务,同一时刻可以开启很多客服为很多客户处理;
    而并发可以理解一个客服为所有的客户开启服务,但同一时刻只能倾听和处理一个客户的,一旦有其他客户需要,就快速切换过去,只是来回快速切换。所以说是表面上看在为所有的客户提供服务。

    总结一下了,可以这么认为:并行(一并执行的)并发(一并发生的)前者可以一起做,后者需要轮流做,比如一边吃饭一边看手机就是并行,(二者互不耽误),而一边吃饭一边喝水就是并发问题了,(总不能一张嘴同时做俩件事吧)需要轮流来做。
    有关链接: https://www.cnblogs.com/goloving/p/9391074.html.

    更多相关内容
  • 并行和并发哪个好?并行和并发概念和区别

    千次阅读 多人点赞 2020-05-20 19:45:29
    摘要:并发并行是两个既相似而又不相同的概念并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一...

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

      并行介绍

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

      并发介绍

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

      并发的实质是一个物理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)。

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

      总结

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

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

    千次阅读 2021-04-13 10:42:02
    一、并发 1.概念 当有多个线程在操作时,如果系统...二、并行 1.概念 当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时

    一、并发

    1.概念

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

    2.特点

    • 对单处理器而言–多个程序在同一时间段发生

    二、并行

    1.概念

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

    2.特点

    • 对多处理器而言–多个程序在同一时刻发生

    三、并发和并行的区别和联系

    计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。

    • 1.并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。
    • 2.在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行
    • 3.若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。
    展开全文
  • 并行和并发区别与联系

    千次阅读 2022-04-23 20:43:26
    在学习多线程/进程编程时,我们经常会遇到并发和并行这两个名词,它们看起来是一个概念,都是“多个线程/进程同时执行”的意思,但实际上它们是有区别的,甚至说不是一码事。 很多教材也都解释了并发和并行区别,...

    在学习多线程/进程编程时,我们经常会遇到并发和并行这两个名词,它们看起来是一个概念,都是“多个线程/进程同时执行”的意思,但实际上它们是有区别的,甚至说不是一码事。

    很多教材也都解释了并发和并行的区别,例如:

    • 并行是指两个或者多个事件在同一时刻发生,而并发是指两个或多个事件在同一时间间隔发生。
    • 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

    并发(Concurrency)

    早期计算机的 CPU 都是单核的,一个 CPU 在同一时间只能执行一个进程/线程,当系统中有多个进程/线程等待执行时,CPU 只能执行完一个再执行下一个。

    为了表述简单,下文我们将不再区分进程和线程,而将它们统一称为“任务”。在不同的场景下,一个任务可能是进程,也可能是线程。

    计算机在运行过程中,有很多指令会涉及 I/O 操作,而 I/O 操作又是相当耗时的,速度远远低于 CPU,这导致 CPU 经常处于空闲状态,只能等待 I/O 操作完成后才能继续执行后面的指令。

    为了提高 CPU 利用率,减少等待时间,人们提出了一种 CPU 并发工作的理论。

    所谓并发,就是通过一种算法将 CPU 资源合理地分配给多个任务,当一个任务执行 I/O 操作时,CPU 可以转而执行其它的任务,等到 I/O 操作完成以后,或者新的任务遇到 I/O 操作时,CPU 再回到原来的任务继续执行。

    下图展示了两个任务并发执行的过程:
     


                                                       图1:单核 CPU 执行两个任务


    虽然 CPU 在同一时刻只能执行一个任务,但是通过将 CPU 的使用权在恰当的时机分配给不同的任务,使得多个任务在视觉上看起来是一起执行的。CPU 的执行速度极快,多任务切换的时间也极短,用户根本感受不到,所以并发执行看起来才跟真的一样。

    操作系统负责将有限的 CPU 资源分配给不同的任务,但是不同操作系统的分配方式不太一样,常见的有: 

    • 当检测到正在执行的任务进行 I/O 操作时,就将 CPU 资源分配给其它任务。
    • 将 CPU 时间平均分配给各个任务,每个任务都可以获得 CPU 的使用权。在给定的时间内,即使任务没有执行完成,也要将 CPU 资源分配给其它任务,该任务需要等待下次分配 CPU 使用权后再继续执行。


    将 CPU 资源合理地分配给多个任务共同使用,有效避免了 CPU 被某个任务长期霸占的问题,极大地提升了 CPU 资源利用率。

    并行(Parallelism)

    并发是针对单核 CPU 提出的,而并行则是针对多核 CPU 提出的。和单核 CPU 不同,多核 CPU 真正实现了“同时执行多个任务”。

    多核 CPU 内部集成了多个计算核心(Core),每个核心相当于一个简单的 CPU,如果不计较细节,你可以认为给计算机安装了多个独立的 CPU。

    多核 CPU 的每个核心都可以独立地执行一个任务,而且多个核心之间不会相互干扰。在不同核心上执行的多个任务,是真正地同时运行,这种状态就叫做并行。

    例如,同样是执行两个任务,双核 CPU 的工作状态如下图所示:
     


                                                         图2:双核 CPU 执行两个任务


    双核 CPU 执行两个任务时,每个核心各自执行一个任务,和单核 CPU 在两个任务之间不断切换相比,它的执行效率更高。

    并发+并行

    在图2中,执行任务的数量恰好等于 CPU 核心的数量,是一种理想状态。但是在实际场景中,处于运行状态的任务是非常多的,尤其是电脑和手机,开机就几十个任务,而 CPU 往往只有 4 核、8 核或者 16 核,远低于任务的数量,这个时候就会同时存在并发和并行两种情况:所有核心都要并行工作,并且每个核心还要并发工作。

    例如一个双核 CPU 要执行四个任务,它的工作状态如下图所示:
     


    每个核心并发执行两个任务,两个核心并行的话就能执行四个任务。当然也可以一个核心执行一个任务,另一个核心并发执行三个任务,这跟操作系统的分配方式,以及每个任务的工作状态有关系。

    总结

    并发针对单核 CPU 而言,它指的是 CPU 交替执行不同任务的能力;并行针对多核 CPU 而言,它指的是多个核心同时执行多个任务的能力。

    单核 CPU 只能并发,无法并行;换句话说,并行只可能发生在多核 CPU 中。

    在多核 CPU 中,并发和并行一般都会同时存在,它们都是提高 CPU 处理任务能力的重要手段。

    展开全文
  • 并发和并行区别(图解)

    千次阅读 2022-04-18 18:01:02
    在学习多线程/进程编程时,我们经常会遇到并发和并行这两个名词,它们看起来是一个概念,都是“多个线程/进程同时执行”的意思,但实际上它们是有区别的,甚至说不是一码事。 很多教材也都解释了并发和并行区别,...
  • 并发和并行区别

    千次阅读 2022-05-07 17:51:53
    1、并行 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行,所以无论从微观还是从宏观来看,二者都是一起执行的。 2、并发 并发(concurrency):指在同一时刻只能有一条指令执行,但...
  • 并发和并行概念

    万次阅读 多人点赞 2020-05-12 22:07:28
    2.并发和并行区别: 所有的并发处理都有排队等候,唤醒执行这三个步骤,所以并发是宏观的观念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上多个...
  • JS中 并发(concurrency)和并行(parallelism)区别 1.并发:宏观概念,有两个任务AB,在一段时间内,通过在AB两个任务间切换,来完成两个任务,这种情况较并发 2.并行:微观概念,假设CPU有两个核心,那么我们...
  • 一、并发性(concurrency)和并行性(parallel)是两个概念,1. 并行并行是指在同一时刻,有多条指令在多个处理器上同时执行;2. 并发并发指在同一时刻,只能有一条指令执行,但多个进程指令被快速轮换执行,使得宏观上...
  • 多线程并行和并发区别的简单理解

    千次阅读 2020-12-12 10:50:32
    多线程并行和并发区别是什么? 目录 多线程并行和并发区别是什么? 多线程相关概念 进程 线程 此时再来看多线程并行和并发区别: 并行 并发 多线程相关概念 官方定义是: 多线程是指从软件或者硬件上...
  • 并行和并发,同步异步的区别

    千次阅读 2018-12-08 01:17:17
    老是忘记并发和并行,同步异步之间的区别,今天写篇博客,加深印象。 并发 & 并行  并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间...
  • 面试官问这个,主要想考察 什么是并行? 什么是并发? 你能用生活中的例子举例嘛? 进一步观察候选者是否对并发编程是否思考过等等。要想学问大,就要多读、多抄、多写。 2、解答 2.1、并发 当有多个线程在操作时,...
  • 面试必考的:并发和并行有什么区别

    千次阅读 多人点赞 2019-04-30 10:02:55
    本文公众号来源:漫话编程 作者:漫话编程并发和并行不知道你们在面试的时候有没有被问过,反正我之前是被问过的。在学习多线程的时候我也曾经解释过并行和并发区别:入门Java...
  • 通俗理解并发和并行区别

    万次阅读 多人点赞 2018-09-24 10:44:29
    所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的...
  • 这是属于操作系统中的词汇,需要了解并发和并行区别,从网上搜集了几种说法帮助理解。 一: 并发是指一个处理器同时处理多个任务。 并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发是逻辑上的...
  • 先抛开语言不管,只聊概念,说起并发,就很容易想到它串行、并行区别。 串行:一次只能取得一个任务并执行这个任务,这个任务执行完后面的任务才能继续; 并行:一次可以取得多个任务,并且可以同时执行这几个...
  • 区别并行并发、同步、异步

    千次阅读 2022-05-06 08:39:47
    个人理解这4个概念是从不同角度看:“多个任务被同时执行” 这件事。 从CPU的角度:并行并发 从编程模式的角度:同步、异步 1、并行并发:CPU视角 (1)并行:多个任务真正意义上被同时执行,非多核CPU或者...
  • 并行和并发有什么区别

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

    2022-04-05 18:05:50
    并行和并发性是既相似又有区别的两个概念并行性是指两个或多个事件在同一时刻发生。 而并发性是指连个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行...
  • 但在这当中,发现一些概念区分起来很难,比如并发和并行,同步异步,阻塞非阻塞,但是这些概念却很重要。因此在此把它总结下来。并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间...
  • 什么是并行并发,两者区别

    万次阅读 多人点赞 2017-11-30 17:05:51
    什么是并发? 并发:指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务,如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,已达到"同时执行...
  • 操作系统的基本概念(并发并行区别)
  • 并发和并行相似但又是两个不同的概念并行是指两个或者多个时间在同一时刻发生,就好比如多个程序同时运行。而并发是指两个或者多个时间在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多...
  • 解释二:并行是在不同进程上的多个事件,并发是在同一进程上多个事件。 解释三:并发是在一台处理器上“同时”处理多个任务,并行是在多台处理器上同时处理多个任务 来个比喻:并发是一个人同一时间“间隔”吃三个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,186
精华内容 48,474
热门标签
关键字:

并行和并发概念及区别