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.