Sobes.tech
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.