Sobes.tech
Junior — Middle

Aké sú výhody používania gorutín v porovnaní s vláknami (threads)?

sobes.tech AI

Odpoveď od AI

Gorutiny v jazyku Go sú ľahké vlákna spravované prostredím Go, nie operačným systémom. Ich výhody oproti klasickým vláknam:

  • Menšie využitie pamäte: Gorutiny zaberajú niekoľko kilobajtov pamäte, zatiaľ čo vlákna — megabajty.
  • Rýchle vytváranie a prepínanie: Spustenie a prepínanie medzi gorutinami je oveľa rýchlejšie.
  • Jednoduchá synchronizácia: Go poskytuje kanály na bezpečnú výmenu dát medzi gorutinami, čo zjednodušuje konkurenčné programovanie.
  • Škálovateľnosť: Môžete spustiť tisíce alebo aj milióny gorutín súčasne.

Príklad vytvorenia gorutiny:

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

func main() {
    go sayHello() // spúšťame gorutinu
    time.Sleep(time.Second) // čakáme, aby gorutina mohla vykonať
}