blob: 5bf189553971bd25f5968c09084e95d4d10eeaf2 [file] [log] [blame]
# Concurrency is not parallelism
16 Jan 2013
Tags: concurrency, talk, video
Summary: Watch Rob Pike's talk, _Concurrency is not parallelism._
OldURL: /concurrency-is-not-parallelism
Andrew Gerrand
If there's one thing most people know about Go,
is that it is designed for concurrency.
No introduction to Go is complete without a demonstration of its goroutines and channels.
But when people hear the word _concurrency_ they often think of _parallelism_,
a related but quite distinct concept.
In programming, concurrency is the _composition_ of independently executing processes,
while parallelism is the simultaneous _execution_ of (possibly related) computations.
Concurrency is about _dealing with_ lots of things at once.
Parallelism is about _doing_ lots of things at once.
To clear up this conflation, Rob Pike gave a talk at [Heroku]('s
[Waza]( conference entitled _Concurrency is not parallelism_,
and a video recording of the talk was released a few months ago.
.iframe // 281 500
The slides are available at [](
(use the left and right arrow keys to navigate).
To learn about Go's concurrency primitives,
watch [Go concurrency patterns](