Junior — Middle
Môžeš uviesť a vysvetliť rôzne typy gorútín používané v jazyku Go?
sobes.tech AI
Odpoveď od AI
V jazyku Go ne existujú rôzne "typy" gorutín ako také — gorutina je ľahký vlákno na vykonávanie, ktoré sa vytvára pomocou kľúčového slova go. Avšak, je možné rozlíšiť rôzne scenáre použitia gorutín:
- Gorutiny na pozadí — vykonávajú úlohy paralelne s hlavným vláknom, napríklad spracovanie udalostí alebo asynchrónne operácie.
- Pracovné gorutiny (worker gorutiny) — používajú sa v vzorcoch worker pool na spracovanie úloh z fronty.
- Gorutiny s kanálmi — komunikujú cez kanály na synchronizáciu a výmenu dát.
Príklad vytvorenia gorutiny:
func sayHello() {
fmt.Println("Ahoj z gorutiny")
}
func main() {
go sayHello() // spustíme gorutinu
time.Sleep(time.Second) // čakáme, aby gorutina mala čas sa dokončiť
}
Rozdiely sú teda skôr v účele a spôsoboch interakcie, nie v typoch gorutín.