Sobes.tech
Middle+

Vertel me over WaitGroup in Go.

sobes.tech AI

Antwoord van AI

In Go wordt sync.WaitGroup gebruikt om te wachten tot een groep goroutines is voltooid. Het is een handige manier om parallelle taken te synchroniseren.

Belangrijkste methoden:

  • Add(int) — verhoogt de teller van verwachte goroutines.
  • Done() — verlaagt de teller, wordt aangeroepen wanneer een goroutine klaar is.
  • Wait() — blokkeert de uitvoering totdat de teller nul is.

Voorbeeld van gebruik:

var wg sync.WaitGroup

wg.Add(2) // wachten op 2 goroutines

go func() {
    defer wg.Done()
    // werk van de eerste goroutine
}()

go func() {
    defer wg.Done()
    // werk van de tweede goroutine
}()

wg.Wait() // wachten tot beide klaar zijn

Op deze manier helpt WaitGroup bij het controleren van de voltooiing van parallelle operaties.