Sobes.tech
Middle — Senior

Wat is de rol van de Wg.Wait-methode bij het synchroniseren van threads?

sobes.tech AI

Antwoord van AI

De methode Wg.Wait() uit het sync pakket in Go wordt gebruikt om meerdere goroutines te synchroniseren. Het blokkeert de uitvoering van de oproepende goroutine totdat de teller WaitGroup nul wordt, dat wil zeggen totdat alle via Add() toegevoegde goroutines Done() hebben aangeroepen.

Voorbeeld:

var wg sync.WaitGroup
wg.Add(2)

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

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

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

Op deze manier garandeert Wg.Wait() dat het programma niet verdergaat totdat alle parallelle taken zijn voltooid.