Sobes.tech
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.