Concurrency primitives of Golang - how to use and how not to
summary
Compares concrete concurrency patterns: when to use channels for data transfer, mutexes for complex state, or atomics for counters, and why wg.Add inside goroutine is a bug. Shows a replacement pattern that pre-adds waitgroups, demonstrates using an atomic integer as a completion signal for N workers and closing a broadcast channel for multiple listeners, and explains failure modes (deadlocks, races) that cause the refactors engineers keep doing.
AI-written summary · about
related talks
32mConcurrency Patterns in Go
44mConcurrency in Go: from hardware to code ☠️
44mConcurrency in Go: From Hardware to Code ☠️
24mMastering Concurrency in Go: From Patterns to Production
16mIn the land of Gophers from age 3
27mProduction Ready Concurrency
03h 29mConcurrency with Clojure
18mApplied concurrency in Go
