并发和并行的区别(并行一定并发吗)
前言和并行的区别,相信很多初出茅庐的程序员都会被问到这个问题。这两个概念很容易混淆。今天,我们来谈谈并发和并行的区别。
概念
在通俗的解释之前,我们先来看看并发和并行的概念。
并发性:并发性,在操作系统中,是指几个程序处于从启动到完成的时期,并且这些程序都运行在同一个处理器上。
并行:并行,当系统有多个CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程可以同时运行,不抢占CPU资源。这种方法叫做并行。
并行
当我们玩电脑的时候,电脑可以同时运行音乐软件和意念。我们可以打代码,听音乐,电脑同时在做很多事情。在单核cpu的计算机中,我们似乎可以同时做这些事情,但这并不是真正的并行。底层是因为cpu快速切换执行任务,给我们同时运行的错觉。但是当计算机是多核cpu时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程可以同时进行,不会抢占CPU资源。这是真正的“同时”过程,我们称之为并行。就像一个网吧,有多台电脑,可以同时满足多个客户的上网需求。这是平行的,同步的,互不竞争的。
并发
并发指的是在同一时间段内发生的多件事情。同样,我们可以以网吧为例。比如一个网吧,每天晚上6点到10点有大量用户,可以称之为大量并发用户。如果网吧有100台电脑,但是晚上6点到10点有150个人在上网,那么这50个人就不能正常上网,要么就在这里等,要么就离开网吧。网吧对这个150人在线请求的处理不是同时进行的,而是在一定时间内进行的。其实这就是并发。
并发和并行的区别
一般来说,并发是指同一时间段内同时发生多件事情;并行性是指在同一时间点同时发生的多件事情。他们都处理多种事情。区别在于是否“同时”。用下图也能很好的理解。
图片来源及互联网,侵权删除
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。系信息发布平台,仅提供信息存储空间服务。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。
本文来自网络,若有侵权,请联系删除,作者:王同华,如若转载,请注明出处: