Sobes.tech
Junior — Middle

Wat is de rol en het doel van de WaitGroup-structuur bij ontwikkeling in Go?

sobes.tech AI

Antwoord van AI

In Go wordt de structuur WaitGroup gebruikt om meerdere goroutines te synchroniseren. Het stelt de hoofd-goroutine in staat te wachten tot een groep andere goroutines is voltooid.

Belangrijkste methoden:

  • Add(int): verhoogt de teller van verwachte goroutines.
  • Done(): verlaagt de teller met 1, wordt aangeroepen bij het voltooien van een goroutine.
  • Wait(): blokkeert de uitvoering totdat de teller 0 wordt.

Voorbeeld van gebruik:

var wg sync.WaitGroup
wg.Add(2) // wachten op 2 goroutines

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

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

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

Op deze manier helpt WaitGroup om de gelijktijdige uitvoering en het wachten op taakvoltooiing correct te beheren.