Junior — Middle
Kako se realizuju paralelni računi u jeziku Go?
sobes.tech АИ
Одговор од АИ
U jeziku Go, paralelni računi se implementiraju pomoću gorutina (goroutines) i kanala (channels).
Gorutine su lagani niti koje se pokreću pomoću ključne reči go. Omogućavaju izvršavanje funkcija asinhrono i paralelno.
Primer paralelnog pokretanja dve funkcije:
func zadatak(id int) {
fmt.Printf("Zadatak %d je počeo\n", id)
// simulacija rada
time.Sleep(time.Second)
fmt.Printf("Zadatak %d je završio\n", id)
}
func main() {
go zadatak(1)
go zadatak(2)
time.Sleep(2 * time.Second) // da gorutine mogu da se završe
}
Kanali se koriste za sinhronizaciju i prenos podataka između gorutina, što omogućava sigurnu razmenu informacija bez blokada.
Na ovaj način, Go pruža jednostavne i efikasne načine za organizaciju paralelnih računanja.