Concurrency in Go: from hardware to code ☠️
summary
Explains how concurrency primitives in Go (mutexes, atomic operations) relate to hardware and memory models, examining how they are implemented under the hood and why simple variable writes are not always truly atomic. Covers Go-specific synchronization (mutexes and atomics) and their interaction with CPU-level behavior and memory ordering, aiming to clarify when and why these primitives are needed.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:50Multithreading problems
- 3:58CPU and cache structure
- 7:56Cache coherence issues
- 9:21Memory barriers role
- 12:33Atomic operations in Go
- 19:31Mutexes and implementation
- 29:18Practical recommendations
- 32:10Q&A
related talks
44mConcurrency in Go: From Hardware to Code ☠️
26mConcurrency primitives of Golang - how to use and how not to
32mConcurrency Patterns in Go
24mMastering Concurrency in Go: From Patterns to Production
39mLet's talk concurrency
16mIn the Land of Gophers (from Age 3)
04mThe monsters inside the sync.Locker
18mApplied concurrency in Go
