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
}