Sobes.tech
Junior — Middle

Hogyan valósulnak meg a párhuzamos számítások a Go nyelvben?

sobes.tech MI

Válasz az MI-től

A Go nyelvben a párhuzamos számításokat goroutine-kkal (goroutines) és csatornákkal (channels) valósítják meg.

A goroutine-ok könnyű szálak, amelyeket a go kulcsszóval indítanak el. Lehetővé teszik funkciók aszinkron és párhuzamos végrehajtását.

Példa két funkció párhuzamos indítására:

func feladat(id int) {
    fmt.Printf("Feladat %d elindult\n", id)
    // munka szimulálása
    time.Sleep(time.Second)
    fmt.Printf("Feladat %d befejeződött\n", id)
}

func main() {
    go feladat(1)
    go feladat(2)
    time.Sleep(2 * time.Second) // hogy a goroutine-ok befejeződhessenek
}

A csatornákat szinkronizációra és adatok átvitelére használják a goroutine-ok között, így biztonságosan lehet információt cserélni blokkolás nélkül.

Így a Go egyszerű és hatékony eszközöket kínál a párhuzamos számítások szervezéséhez.