Multithreading is not the only approach we use to deal with concurrency. Single-purpose processes is our next frontier. Processes, that don`t have shared state. To coordinate, they pass messages to each other.
We can build complex concurrent systems using simple principles of CSP or Actors model. We break down programs into independent processes, each performing some specific job, talking to each other. How they talk to each is the point of contention here. That`s where the differences between CSP and Actors arise.
Host: Andrey Salomatin flpvsk.com
- “Communicating Sequential Processes” orignial paper by C. A. R.
- “Go in 5 minutes” screencast by Aaron
- “Effective Go”
- “Go Concurrency Patterns” talk by Rob Pike
- net/context documentation
- WebSockets documentation
- “A Universal Modular Actor Formalism for Artificial Intelligence”
original paper by Carl Hewitt; Peter Bishop; Richard Steiger
- “Learn You Some Erlang for great good!” by Fred Hébert
- “Programming Erlang” by Joe Armstrong
Projects to check out
- “Awesome Go” – a curated list of awesome Go frameworks, libraries and
PS: Links to Amazon are referral. You can use them to support the show.