Čo je gorutina? Prečo sa nazýva ľahká? Aká je počiatočná veľkosť pamäte gorutiny a aká je maximálna?
sobes.tech AI
Odpoveď od AI
Goroutine je ľahký vlákno vykonávania v jazyku Go, implementované na úrovni runtime a nie operačným systémom. Umožňuje vykonávať funkcie paralelne s minimálnymi nákladmi.
Nazýva sa ľahké, pretože na rozdiel od systémových vlákien, goroutine-ky zaberajú veľmi málo pamäte a sú rýchlo vytvárané. Toho sa dosahuje dynamickým riadením zásobníka a plánovača na úrovni Go.
Počiatočná veľkosť zásobníka goroutine je zvyčajne okolo 2 KB (v starších verziách Go — 4 KB), ale zásobník môže dynamicky rásť a zmenšovať sa podľa potrieb, dosahujúc maximum niekoľkých megabajtov (zvyčajne až 1 GB, hoci v praxi je taký veľký zásobník zriedka potrebný). Tento prístup umožňuje spúšťanie tisícov a dokonca miliónov goroutine súčasne bez významných nákladov na pamäť.