最新消息:

并发和并行的区别

Go 少儿编程 1597浏览 0评论
go语言教程01
在讲解并发概念时,总会涉及另外一个概念并行。下面让我们来了解并发和并行之间的区别。

  • 并发(concurrency):把任务在不同的时间点交给处理器进行处理。在同一时间点,任务并不会同时运行。
  • 并行(parallelism):把每一个任务分配给每一个处理器独立完成。在同一时间点,任务一定是同时运行。

两个概念的区别是:任务是否同时执行。举一个生活中的例子:打电话和吃饭。

吃饭时,电话来了,需要停止吃饭去接电话。电话接完后回来继续吃饭,这个过程是并发执行。

吃饭时,电话来了,边吃饭边接电话。这个过程是并行执行。

GO 语言在 GOMAXPROCS 数量与任务数量相等时,可以做到并行执行,但一般情况下都是并发执行。

您必须 登录 才能发表评论!