Sobes.tech
Senior

Kuda idu gorutine pri kreiranju — u lokalnu ili globalnu red za planera Go?

sobes.tech АИ

Одговор од АИ

Prilikom kreiranja goroutine u Go, ona se smešta u lokalnu red za izvršavanje (local run queue), koja pripada određenom M (mašini, sistemskom niti).

Go runtime koristi model M:N, gde su M sistemske niti, a G goroutine-ovi. Svaki M ima svoju lokalnu red za izvršavanje goroutine-ova. Ako lokalna red preoptereti ili je prazna, planer može da balansira goroutine-ove između lokalne i globalne reda.

Na ovaj način, nova goroutine se najpre smešta u lokalnu red planera, što omogućava efikasno korišćenje keš memorije procesora i smanjuje troškove prebacivanja konteksta.