Sobes.tech
Junior — Middle

Kako se vrši alokacija i upravljanje memorijom prilikom korišćenja gorutina u jeziku Go?

sobes.tech АИ

Одговор од АИ

U Go, goroutine-ji su lagani niti koje upravlja runtime Go-a. Prilikom kreiranja goroutine, dodeljuje se mala stog memorije (obično oko 2 KB), koji se može dinamički povećavati i smanjivati po potrebi. Ovo omogućava efikasno korišćenje memorije, jer stog nije fiksan i prilagođava se opterećenju.

Upravljanje memorijom vrši se putem planera Go, koji raspoređuje goroutine-ove na sistemske niti. Stog goroutine-a nalazi se na hrpi, a sakupljač smeća automatski oslobađa neiskorišćenu memoriju.

Primer kreiranja goroutine:

func sayHello() {
    fmt.Println("Zdravo iz goroutine")
}

func main() {
    go sayHello() // pokreće goroutine
    time.Sleep(time.Second) // čeka da goroutine završi
}

Na ovaj način, Go skriva od programera detalje upravljanja memorijom goroutine-ova, obezbeđujući jednostavnost i efikasnost paralelnog izvršavanja.