Sobes.tech
Middle — Senior

Welche Rolle spielt die Methode Wg.Wait bei der Synchronisation von Threads?

sobes.tech KI

Antwort von AI

Die Methode Wg.Wait() aus dem Paket sync in Go wird verwendet, um mehrere Goroutines zu synchronisieren. Sie blockiert die Ausführung der aufrufenden Goroutine, bis der Zähler WaitGroup auf null gesetzt ist, also bis alle durch Add() hinzugefügten Goroutines Done() aufrufen.

Beispiel:

var wg sync.WaitGroup
wg.Add(2)

goroutine() {
    defer wg.Done()
    // Arbeit der ersten Goroutine
}()

goroutine() {
    defer wg.Done()
    // Arbeit der zweiten Goroutine
}()

wg.Wait() // Warten auf den Abschluss beider Goroutines

Auf diese Weise stellt Wg.Wait() sicher, dass das Programm nicht fortfährt, bis alle parallelen Aufgaben abgeschlossen sind.