Overview
Syllabus
Intro
Rethinking Classical Concurrency Patterns
Start goroutines when you have concurrent work.
Share by communicating.
An asynchronous API
Avoid blocking UI and network threads.
Reduce idle threads.
Reclaim stack frames.
Make concurrency an internal detail.
Condition Variables
Spurious wakeups
Forgotten signals
Starvation
Unresponsive cancellation
Share resources by communicating the resources.
Resource limits are resources too!
Share data by communicating the data.
Mark transitions.
Share completion by completing communication.
Events can be completions.
Share a thing by communicating the thing
Worker lifetimes
Idle workers
Recap
Taught by
Gopher Academy