Sobes.tech
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.