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