Middle+
Povedz mi o WaitGroup v Go.
sobes.tech AI
Odpoveď od AI
V jazyku Go sa sync.WaitGroup čaka na dokončanje skupine gorutina. To je prikladan način za sinhronizaciju paralelnih zadataka.
Glavne metode:
Add(int)— poveća brojač očekivanih gorutina.Done()— smanjuje brojač, poziva se kada gorutina završi.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
Na ovaj način, WaitGroup pomaže u kontroli završetka paralelnih operacija.