> Source: https://www.ymotongpoo.com/works/goblog-ja/waza-talk/


# 並行性は並列性ではない

[Concurrency is not parallelism](https://go.dev/blog/waza-talk) by Andrew Gerrand

Goについて多くの人が知っていることが一つあるとすれば、それは並行性のために設計されているということでしょう。
ゴルーチンとチャンネルのデモンストレーションなしにGoの紹介が完結することはありません。

しかし人々は _並行性 (concurrency)_ という言葉を聞くと、しばしば _並列性 (parallelism)_ を思い浮かべます。
これは関連してはいますが、まったく別の概念です。プログラミングにおいて、並行性とは独立して実行される
処理の _組み合わせ_ であり、並列性は（互いに関連している場合もある）計算の同時 _実行_ のことです。
並行性とは同時に多くのことに _対処すること_ であり、並列性とは同時に多くのことを _行うこと_ です。

この混同を整理するために、Rob Pikeは [Heroku](http://heroku.com/) のWazaカンファレンスで
[_Concurrency is not parallelism_](https://blog.heroku.com/concurrency_is_not_parallelism) という
講演を行いました。その講演の録画が数ヶ月前に公開され、[こちら](https://www.youtube.com/watch?v=oV9rvDllKEg)から視聴できます。

スライドは [go.dev/talks](https://go.dev/talks/2012/waza.slide) で公開されています
(左右の矢印キーでページを移動できます)。

Goの並行性のプリミティブについて学びたい方は、[Go concurrency patterns](http://www.youtube.com/watch?v=f6kdp27TYZs)
（[スライド](https://go.dev/talks/2012/concurrency.slide)）をご覧ください。

By Andrew Gerrand

