Go 博客

并发不是并行

Andrew Gerrand
2013 年 1 月 16 日

如果说大多数人对 Go 有一点了解的话,那就是它是为并发而设计的。任何 Go 入门教程都不会缺少对其 goroutines 和 channels 的演示。

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

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

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

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

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