Sobes.tech
Middle — Senior

Koja je uloga metode Wg.Wait u sinhronizaciji niti?

sobes.tech АИ

Одговор од АИ

Metoda Wg.Wait() iz paketa sync u Go jeziku koristi se za sinhronizaciju više gorutina. Blokira izvršenje pozivajuće gorutine dok brojač WaitGroup ne postane nula, tj. dok sve gorutine dodate putem Add() ne pozovu Done().

Primer:

var wg sync.WaitGroup
wg.Add(2)

go func() {
    defer wg.Done()
    // rad prve gorutine
}()

go func() {
    defer wg.Done()
    // rad druge gorutine
}()

wg.Wait() // Čekamo da se završe obe gorutine

Na ovaj način, Wg.Wait() garantuje da program neće nastaviti dok sve paralelne zadatke ne budu završeni.