Middle
Povedz mi o goroutines v Go
sobes.tech AI
Odpoveď od AI
Gorutiny sú ľahké vlákna na vykonávanie v jazyku Go, ktoré umožňujú spúšťanie funkcií paralelne s minimálnymi nákladmi na pamäť a čas. Sú riadené runtime-om Go, nie operačným systémom, čo ich robí efektívnejšími v porovnaní s klasickými vláknami.
Spustenie gorutiny sa vykonáva pomocou kľúčového slova go pred volaním funkcie:
func sayHello() {
fmt.Println("Ahoj z gorutiny")
}
func main() {
go sayHello() // spustí gorutinu
time.Sleep(time.Second) // dáme gorutine čas na dokončenie
}
Gorutiny používajú kanály na synchronizáciu a výmenu dát, čo zjednodušuje písanie konkurenčného kódu bez explicitných zámkov.
Hlavné výhody:
- Veľmi nízke náklady na vytvorenie a prepínanie kontextu.
- Jednoduchá synchronizácia cez kanály.
- Umožňujú efektívne využívanie systémov s viacerými procesormi.