Sobes.tech
Junior — Middle

Ako sa realizujú paralelné výpočty v jazyku Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go sú paralelné výpočty realizované pomocou gorútín (goroutines) a kanálov (channels).

Gorutiny sú ľahké vlákna, ktoré sa spúšťajú pomocou kľúčového slova go. Umožňujú vykonávanie funkcií asynchrónne a paralelne.

Príklad paralelného spustenia dvoch funkcií:

func úloha(id int) {
    fmt.Printf("Úloha %d začala\n", id)
    // simulácia práce
    time.Sleep(time.Second)
    fmt.Printf("Úloha %d skončila\n", id)
}

func main() {
    go úloha(1)
    go úloha(2)
    time.Sleep(2 * time.Second) // aby gorutiny mohli skončiť
}

Kanály sa používajú na synchronizáciu a prenos dát medzi gorutinami, čo umožňuje bezpečnú výmenu informácií bez blokovania.

Týmto spôsobom Go poskytuje jednoduché a efektívne prostriedky na organizáciu paralelných výpočtov.