Junior — Middle
Hogyan valósul meg és kezelik több goroutine munkáját az alkalmazásban?
sobes.tech MI
Válasz az MI-től
A Go-ban a goroutine-ok könnyű szálak, amelyeket a Go futásideje kezel, nem pedig az operációs rendszer. Amikor egy alkalmazás sok goroutine-t hoz létre, a Go futásideje ütemezi azok végrehajtását egy korlátozott számú rendszer szálon (M), az M:N modell használatával (M rendszer szál N goroutine-hoz).
A Go ütemezője elosztja a goroutine-okat a szálak között, nagyon gyorsan és hatékonyan váltogatva a kontextust. Ez lehetővé teszi ezer vagy akár millió goroutine futtatását alacsony memória- és időráfordítással.
Goroutine létrehozásának példája:
func sayHello() {
fmt.Println("Helló a goroutine-ból")
}
func main() {
go sayHello() // goroutine indítása
time.Sleep(time.Second) // időt adunk a goroutine-nak a végrehajtáshoz
}