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.
The slides are available at talks.golang.org (use the left and right arrow keys to navigate).
- Go 2 Draft Designs
- Go Concurrency Patterns: Context
- Go Concurrency Patterns: Pipelines and cancellation
- Go talks at FOSDEM 2014
- Introducing the Go Race Detector
- Advanced Go Concurrency Patterns
- The path to Go 1
- Two recent Go articles
- Get thee to a Go meetup
- Two recent Go talks
- Go videos from Google I/O 2012
- Two Go Talks: "Lexical Scanning in Go" and "Cuddle: an App Engine Demo"
- Go at Google I/O 2011: videos
- Go Concurrency Patterns: Timing out, moving on
- Share Memory By Communicating
- Go Programming session video from Google I/O