Go 博客

并发不是并行

Andrew Gerrand
2013 年 1 月 16 日

如果说大多数人对 Go 有一个了解的话,那就是它为并发而设计。任何 Go 的介绍都离不开对其 goroutine 和 channel 的演示。

但是当人们听到“并发”这个词时,他们常常会想到“并行”,这是一个相关但截然不同的概念。在编程中,并发是独立执行进程的**组合**,而并行是(可能相关的)计算的**同时执行**。并发是关于**处理**很多事情。并行是关于**同时做**很多事情。

为了澄清这种混淆,Rob Pike 在 Heroku 的 Waza 会议上做了一个题为 “并发不是并行” 的演讲,演讲的视频录像在几个月前发布了。

幻灯片可在 go.dev/talks 找到(使用左右箭头键导航)。

要了解 Go 的并发原语,请观看 Go 并发模式幻灯片)。

下一篇文章:go fmt 你的代码
上一篇文章:App Engine SDK 和工作区 (GOPATH)
博客索引