Middle+
Erzählen Sie mir von WaitGroup in Go.
sobes.tech KI
Antwort von AI
In Go wird sync.WaitGroup verwendet, um auf das Ende einer Gruppe von Goroutines zu warten. Es ist eine bequeme Möglichkeit, parallele Aufgaben zu synchronisieren.
Hauptmethoden:
Add(int)— erhöht den Zähler der erwarteten Goroutines.Done()— verringert den Zähler, wird aufgerufen, wenn eine Goroutine beendet ist.Wait()— blockiert die Ausführung, bis der Zähler null ist.
Beispiel für die Verwendung:
var wg sync.WaitGroup
wg.Add(2) // warten auf 2 Goroutines
go func() {
defer wg.Done()
// Arbeit der ersten Goroutine
}()
go func() {
defer wg.Done()
// Arbeit der zweiten Goroutine
}()
wg.Wait() // warten auf beide
Auf diese Weise hilft WaitGroup, das Ende paralleler Operationen zu kontrollieren.