Go scheduler’s job is to distribute runnable goroutines over multiple worker OS threads that runs on one or more processors. With its work stealing strategy and spinning threads, it does a lot to minimize context switches and aim better CPU utilization.
JBD dives into the runtime scheduler and all the additional flavors it implements to make your programs more performant.