Sobes.tech
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.