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