Go использует модель M:N: много горутин (M) мультиплексируются на меньшее число потоков ОС (N). Планировщик (GMP: goroutine, machine, processor) распределяет горутины по потокам. Это даёт лёгкость горутин и реальный параллелизм на нескольких ядрах.