美文网首页并发
浅谈并发和并行

浅谈并发和并行

作者: 唐T唐X | 来源:发表于2016-04-05 09:32 被阅读138次

并发和并行这两个概念在我的脑子里一直是很混乱,趁着清明节放假,好好地在网上了解了下,感觉有了点头绪,特意分享下,如果有了解不对的地方,还望大家指正。

首先来看看网上对并发和并行比率最多的定义:

并发:指两个或多个事件在同一时间间隔内发生

并行:指两个或者多个事件在同一时刻发生

好了,其实,并发和并行从宏观上来讲都是同时处理多路请求的概念。大家看好这句话,是宏观里的“同时”,为什么这么说?可以理解为:我们可以将就的认为事件在并发和并行中是在同时发生的,但其实并不是。从微观上说,同时发生只出现在并行里,并发只是间断执行。就如同网上的一句话里说的:

“并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行

好了,这么看就比较清楚了。其实以现在单核CPU和多核CPU的例子更能清楚地了解它们的区别吧。两个线程在单核CPU中在某一时刻只能运行一个,两个线程的运行其实就是分时的在CPU中切换的过程,这其实就是并发;而出现了多核CPU后,两个线程可以在不同的CPU上面真正的同时运行,这就叫并行。当然,在多核CPU中,并发也是普遍存在的。

下面这张图应该可以简单地描述下他们的区别:

那好,理论知识其实就这么多,但是并发和并行用在其他方面都会有一些变化,或者偏离了本身的定义。所以在使用中也要注意区分,比如和我们相关的网络服务器的并发概念:

在服务器上,并发是指同一时刻能处理的连接数

在同一时刻,服务器上能建立或维护多少个TCP连接,服务器的并发量就是多少。当然,我们其实并不关心他们都在干什么,因为他们的请求各不相同。所以,在做服务器的性能测试时,并不能只关心某一个接口的并发数,而是要综合考虑各个接口的权重并制定计划,才能获得最接近真实的性能数据。

相关文章

  • 浅谈并发和并行

    并发和并行这两个概念在我的脑子里一直是很混乱,趁着清明节放假,好好地在网上了解了下,感觉有了点头绪,特意分享下,如...

  • 服务器并发设计

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

  • ObjC-多线程之GCD

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

  • Go并发

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

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

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

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

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

  • JS异步编程相关知识点

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

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

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

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

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

  • <>阅读笔记

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

网友评论

    本文标题:浅谈并发和并行

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