Sobes.tech
Junior — Middle

Hogyan történik egy új goroutine inicializálása és végrehajtása egy programban?

sobes.tech MI

Válasz az MI-től

A Go nyelvben egy új goroutine-t a go kulcsszó segítségével hozunk létre, amelyet egy függvény vagy metódus hívása követ. Ez egy könnyű végrehajtási szálat hoz létre, amely párhuzamosan működik a fő programmal.

A goroutine inicializálása és indítása így történik:

  1. A go hívása a függvény előtt: go myFunction().
  2. A Go ütemezője létrehoz egy új goroutine-t, és beállítja végrehajtási sorba.
  3. A goroutine aszinkron módon kezd el futni, függetlenül a fő programtól.

Példa:

func sayHello() {
    fmt.Println("Helló a goroutine-ból")
}

func main() {
    go sayHello() // goroutine indítása
    fmt.Println("Helló a main-ből")
    time.Sleep(time.Second) // időt adunk a goroutine-nak a befejezéshez
}

Fontos megjegyezni, hogy a goroutine-ok nagyon könnyűek a rendszer szálaihoz képest, és ütemezésüket valamint kontextusváltásukat a Go futásideje kezeli, ami hatékony erőforrás-használatot tesz lehetővé.