Go Concurrency [2/2]: Work Stealing, the Netpoller, and Async Preemption
Part 2 of 2 : this post builds on the GMP model from Part 1. The GMP model explains the structure of Go’s scheduler. This post explains how it stays efficient under real-world load. Three mechanisms that run silently behind every Go program: Work stealing – balances uneven workloads across processors The Netpoller – handles network I/O without blocking OS threads Async preemption – stops CPU-heavy goroutines from starving others Once you understand these three, the scheduler stops feeling magical and starts feeling inevitable. ...