Sobes.tech
Junior — Middle

Kā tiek veikta jaunas gorutinas inicializācija un izpilde programmā?

sobes.tech AI

Atbilde no AI

Go valodā jauna gorutina tiek izveidota, izmantojot atslēgas vārdu go, pēc kura seko funkcijas vai metodes izsaukums. Tas izveido vieglu izpildes plūsmu, kas darbojas paralēli ar galveno programmu.

Gorutinas inicializācija un uzsākšana notiek šādi:

  1. Pirms funkcijas tiek izsaukts go: go myFunction().
  2. Go plānotājs izveido jaunu gorutinu un to ievieto izpildes rindā.
  3. Gorutina sāk darboties asinhroni, neatkarīgi no galvenās programmas.

Piemērs:

func sayHello() {
    fmt.Println("Sveiciens no gorutinas")
}

func main() {
    go sayHello() // uzsākam gorutinu
    fmt.Println("Sveiciens no galvenās funkcijas")
    time.Sleep(time.Second) // dodam laiku gorutinas pabeigšanai
}

Svarīgi atcerēties, ka gorutinas ir ļoti vieglas salīdzinājumā ar OS pavedieniem, un to plānošana un konteksta pārslēgšana tiek pārvaldīta ar Go runtime, kas ļauj efektīvi izmantot resursus.