Sobes.tech
Junior — Middle

Jaké jsou výhody používání gorutin ve srovnání s vlákny (threads)?

sobes.tech AI

Odpověď od AI

Gorutiny v jazyce Go jsou lehké vlákna řízená běhovým prostředím Go, nikoliv operačním systémem. Jejich výhody oproti klasickým vláknům:

  • Menší spotřeba paměti: Gorutiny zabírají několik kilobajtů paměti, zatímco vlákna — megabajty.
  • Rychlé vytváření a přepínání: Spuštění a přepínání mezi gorutinami je mnohem rychlejší.
  • Jednoduchá synchronizace: Go poskytuje kanály pro bezpečnou výměnu dat mezi gorutinami, což zjednodušuje konkurenční programování.
  • Škálovatelnost: Můžete spustit tisíce nebo i miliony gorutin současně.

Příklad vytvoření gorutiny:

func sayHello() {
    fmt.Println("Ahoj z gorutiny")
}

func main() {
    go sayHello() // spouštíme gorutinu
    time.Sleep(time.Second) // čekáme, aby gorutina měla čas se vykonat
}