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:
- Před funkcí se zavolá
go:go myFunction(). - Plánovač Go vytvoří novou gorutinu a zařadí ji do fronty na vykonání.
- 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ů.