Middle+
Ispričaj mi o WaitGroup u Go.
sobes.tech АИ
Одговор од АИ
U Go jeziku, sync.WaitGroup se koristi za čekanje završetka grupe gorutina. To je zgodan način za sinhronizaciju paralelnih zadataka.
Glavne metode:
Add(int)— povećava 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.