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)
部落格索引