Sobes.tech
Junior

Kas valdo goroutines Go kalboje?

sobes.tech AI

Atsakymas iš AI

Gorutinos Go kalboje yra valdomos įmontuoto planuotojo (scheduler) runtime. Šis planuotojas atsakingas už gorutinių paskirstymą tarp sisteminių gijų (OS threads) ir užtikrina konkurencingą vykdymą.

Pagrindiniai punktai:

  • Go planuotojas veikia naudotojo lygyje, ne operacinės sistemos branduolio lygyje.
  • Efektyviai keičiasi tarp gorutinių, leidžiant vykdyti tūkstančius lengvų užduočių.
  • Kūrėjas paprasčiausiai paleidžia gorutinas su go ir tiesiogiai nevaldo gijų.

Gorutinos paleidimo pavyzdys:

func sayHello() {
    fmt.Println("Sveiki iš gorutinos")
}

func main() {
    go sayHello() // planuotojas paleis šią gorutinas
    time.Sleep(time.Second) // kad duotų laiko gorutinos vykdymui
}