Senior
Co je to goroutine? Proč se jí říká lehká? Jaká je počáteční velikost paměti goroutine a jaká je maximální?
sobes.tech AI
Odpověď od AI
Goroutine je lehký vlákno provádění v jazyce Go, implementované na úrovni runtime a nikoliv operačního systému. Umožňuje spouštět funkce paralelně s minimální režii.
Nazývá se lehké, protože na rozdíl od systémových vláken, gorutiny zabírají velmi málo paměti a jsou rychle vytvářeny. Toho je dosaženo dynamickým řízením zásobníku a plánovačem na úrovni Go.
Počáteční velikost zásobníku gorutiny je obvykle kolem 2 KB (v raných verzích Go 4 KB), ale zásobník může dynamicky růst a zmenšovat se podle potřeb, dosahujíc maxima několika megabajtů (obvykle až 1 GB, i když v praxi je tak velký zásobník zřídka potřeba). Tento přístup umožňuje spouštět tisíce a dokonce miliony gorutin současně bez významných nákladů na paměť.