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.