Sobes.tech
Junior — Middle

Jak se v programu provádí inicializace a spuštění nové gorutiny?

sobes.tech AI

Odpověď od AI

V jazyce Go je nová gorutina vytvořena pomocí klíčového slova go, za kterým následuje volání funkce nebo metody. Tím se vytvoří lehký běhový vlákno, které běží paralelně s hlavním programem.

Inicializace a spuštění gorutiny probíhá takto:

  1. Před funkcí se zavolá go: go myFunction().
  2. Plánovač Go vytvoří novou gorutinu a zařadí ji do fronty na vykonání.
  3. Gorutina začne asynchronně běžet, nezávisle na hlavním programu.

Pří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 gorutině čas na dokončení
}

Je důležité si uvědomit, že gorutiny jsou velmi lehké ve srovnání s vlákny OS a jejich plánování a přepínání je řízeno běhovým prostředím Go, což umožňuje efektivní využití zdrojů.