Sobes.tech
Junior — Middle

Kaip vykdoma naujos gorutinos inicijacija ir vykdymas programoje?

sobes.tech AI

Atsakymas iš AI

Go kalboje nauja gorutina kuriama naudojant raktinį žodį go, po kurio iškviečiama funkcija arba metodas. Tai sukuria lengvą vykdymo srautą, kuris veikia paraleliai su pagrindine programa.

Gorutinos inicijavimas ir paleidimas vyksta taip:

  1. Prieš funkciją iškviečiama go: go myFunction().
  2. Go planuotojas sukuria naują gorutiną ir ją įtraukia į vykdymo eilę.
  3. Gorutina pradeda vykdyti asinchroniškai, nepriklausomai nuo pagrindinės programos.

Pavyzdys:

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

func main() {
    go sayHello() // paleidžiame gorutina
    fmt.Println("Sveiki iš main")
    time.Sleep(time.Second) // suteikiame laiko gorutinei užbaigti
}

Svarbu prisiminti, kad gorutinos yra labai lengvos, palyginti su OS gijų, ir jų planavimas bei kontekstų keitimas yra valdomas Go runtime, kas leidžia efektyviai naudoti išteklius.