Sobes.tech
Junior — Middle

Kun je uitleggen wat een Wait Group is en waar het voor wordt gebruikt in programmeren?

sobes.tech AI

Antwoord van AI

Wait Group in Go is een structuur uit het sync pakket die wordt gebruikt om te wachten tot een groep goroutines klaar is. Het stelt de hoofd-goroutine (of een andere) in staat om te blokkeren totdat alle gestartte goroutines hun werk hebben voltooid.

Belangrijkste methoden:

  • Add(int) — verhoogt de teller van verwachte goroutines.
  • Done() — verlaagt de teller, wordt aangeroepen bij het voltooien van een goroutine.
  • 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

Dit is handig voor het synchroniseren van parallelle taken en het voorkomen dat het programma voortijdig eindigt.