Junior — Middle
Da li planer operativnog sistema obavezno prisilno zaustavlja izvršavanje gorutine?
sobes.tech АИ
Одговор од АИ
Не, планер оперативног sistema ne zaustavlja obavezno izvršavanje gorutina u Go. Gorutine su lagani tokovi koje upravlja runtime Go-a, a ne direktno OS.
Runtime Go-a samostalno planira izvršavanje gorutina na sistemskim tokovima (planiranje M:N). Gorutine mogu biti suspendovane i nastavljene u sledećim slučajevima:
- Kada gorutina čeka ulaz/izlaz ili se blokira na sinhronizaciji.
- Kada gorutina eksplicitno prepušta kontrolu (npr. poziv
runtime.Gosched()). - Kada je potrebno izbalansirati opterećenje između tokova.
Takođe, prebacivanje između gorutina dešava se kooperativno i pod kontrolom runtime-a Go, a ne prinudno od strane OS-a.