Junior — Middle
Koja je uloga i svrha strukture WaitGroup tokom razvoja u Go?
sobes.tech АИ
Одговор од АИ
У Go, struktura WaitGroup se koristi za sinhronizaciju više gorutina. Omogućava glavnoj gorutini da čeka završetak grupe drugih gorutina.
Glavne metode:
- Add(int): povećava brojač očekivanih gorutina.
- Done(): smanjuje brojač za 1, poziva se po završetku gorutine.
- Wait(): blokira izvršenje dok brojač ne postane 0.
Primer upotrebe:
var wg sync.WaitGroup
wg.Add(2) // čekamo 2 gorutine
go func() {
defer wg.Done()
// rad gorutine 1
}()
go func() {
defer wg.Done()
// rad gorutine 2
}()
wg.Wait() // čekamo da se obe gorutine završe
Na ovaj način, WaitGroup pomaže da se pravilno upravlja paralelnim izvršenjem i čekanjem na završetak zadataka.