Sobes.tech
Junior — Middle

Existujú obmedzenia počtu súčasne spustených gorút v aplikácii?

sobes.tech AI

Odpoveď od AI

V jazyku Go ne existuje prísne obmedzenie počtu gorutín, ktoré môžu byť spustené súčasne, ale existujú praktické obmedzenia súvisiace s systémovými zdrojmi (pamäť, CPU).

Gorutiny sú veľmi ľahké v porovnaní s vláknami operačného systému: ich zásobník začína s niekoľkými kilobajtmi a môže sa dynamicky zväčšovať. To umožňuje spúšťanie desiatok a stoviek tisícov gorutín.

Avšak, pri príliš veľkom počte gorutín:

  • Zvyšuje sa spotreba pamäti
  • Zvyšuje sa záťaž plánovača gorutín
  • Môže dôjsť k zníženiu výkonu kvôli prepínaniu kontextov

Preto je dôležité sledovať počet gorutín a používať mechanizmy obmedzenia (napríklad worker pool), ak sa očakáva veľmi veľký počet paralelných úloh.