Junior — Middle
Можете ли објаснити шта је Wait Group и зашто се користи у програмирању?
sobes.tech АИ
Одговор од АИ
Wait Group u Go je struktura iz paketa sync koja se koristi za čekanje završetka grupe gorutina. Omogućava glavnoj gorutini (ili drugoj) da se blokira dok sve pokrenute gorutine ne završe svoj rad.
Glavne metode:
Add(int)— povećava brojač očekivanih gorutina.Done()— smanjuje brojač, poziva se po završetku gorutine.Wait()— blokira izvršavanje dok brojač ne postane nula.
Primer upotrebe:
var wg sync.WaitGroup
wg.Add(2) // čekamo 2 gorutine
go func() {
defer wg.Done()
// rad prve gorutine
}()
go func() {
defer wg.Done()
// rad druge gorutine
}()
wg.Wait() // čekamo da obe završe
Ovo je korisno za sinhronizaciju paralelnih zadataka i sprečavanje prerano završavanja programa.