Sobes.tech
Junior — Middle

Jaký je maximální počet vláken povolených v jednom procesu?

sobes.tech AI

Odpověď od AI

V Go je počet vláken (goroutines) v jednom procesu prakticky neomezený samotným jazykem — omezení je dáno zdroji operačního systému a dostupnou pamětí.

Goroutine je lehký vlákno, řízené běhovým prostředím Go, a lze je vytvářet desítky a stovky tisíc bez podstatného zhoršení výkonu.

Nicméně systémová vlákna (OS vlákna), na kterých běží goroutines, jsou omezena zdroji OS a nastaveními (například limity na počet vláken v jádře OS).

Proto může v jednom procesu Go být velmi mnoho goroutines, ale skutečný maximální počet závisí na:

  • Dostupné operační paměti
  • Omezeních OS (například ulimit v Linuxu)
  • Konfiguraci běhového prostředí (například GOMAXPROCS)

Obecně platí, že limit počtu goroutines je pro většinu aplikací velmi vysoký a nečiní z nich úzké místo.