Go concurrency
Parts, in publishing order
- Concurrency in Go, part 1: unexpected pitfalls
Five concurrency mistakes that Go programs make even with goroutines and channels: missing synchronization, time.After leaks, misused timers, copied sync values and…
- Concurrency in Go, part 2: goroutines, channels, select and timeouts
Launching goroutines, passing values over channels, generator functions, multiplexing, restoring sequencing, select and timeouts.
- Concurrency in Go, part 3: quit channels and a concurrent search
How a quit channel stops a goroutine, the daisy-chain, and a worked example that turns a slow sequential search into a fast, replicated one.