Sobes.tech
Junior — Middle

Ako sa v programe inicializuje a vykonáva nová gorutina?

sobes.tech AI

Odpoveď od AI

V jazyku Go sa vytvára nová gorutina pomocou kľúčového slova go, za ktorým nasleduje volanie funkcie alebo metódy. Tým sa vytvorí ľahký vykonávací tok, ktorý beží paralelne s hlavným programom.

Inicializácia a spustenie gorutiny prebieha takto:

  1. Pred funkciou sa zavolá go: go myFunction().
  2. Plánovač Go vytvorí novú gorutinu a vloží ju do fronty na vykonanie.
  3. Gorutina začne asynchrónne bežať, nezávisle od hlavného programu.

Príklad:

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

func main() {
    go sayHello() // spustíme gorutinu
    fmt.Println("Ahoj z main")
    time.Sleep(time.Second) // dáme gorutine čas na dokončenie
}

Je dôležité si uvedomiť, že gorutiny sú veľmi ľahké v porovnaní s vláknami OS a ich plánovanie a prepínanie je riadené runtime-om Go, čo umožňuje efektívne využívanie zdrojov.