Junior — Middle
De unde obține muntele memoria alocată la pornire?
sobes.tech AI
Răspuns de la AI
O goroutine în Go primește memorie alocată din stiva, care este gestionată de runtime-ul Go. Spre deosebire de firele tradiționale, goroutine-urile au inițial o stivă foarte mică (de obicei câțiva kilobytes), care poate fi extinsă și comprimată dinamic după necesitate.
Când se creează o nouă goroutine, runtime-ul îi alocă o mică stivă pe heap, apoi o mărește dacă este necesar. Acest lucru permite rularea a mii și chiar milioane de goroutine-uri cu un consum minim de memorie.
Astfel, memoria pentru goroutine este alocată din zona de memorie gestionată de runtime, și nu direct din stiva sistemului.