Junior — Middle
Môžete vysvetliť, čo je Wait Group a na čo sa používa v programovaní?
sobes.tech AI
Odpoveď od AI
Wait Group v Go je štruktura 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.