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