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.