Middle+
Cuéntame sobre WaitGroup en Go.
sobes.tech AI
Respuesta de la IA
En Go, sync.WaitGroup se utiliza para esperar a que finalicen un grupo de goroutines. Es una forma conveniente de sincronizar tareas paralelas.
Métodos principales:
Add(int)— incrementa el contador de goroutines esperadas.Done()— decrementa el contador, se llama cuando una goroutine termina.Wait()— bloquea la ejecución hasta que el contador sea cero.
Ejemplo de uso:
var wg sync.WaitGroup
wg.Add(2) // esperamos 2 goroutines
go func() {
defer wg.Done()
// trabajo de la primera goroutine
}()
go func() {
defer wg.Done()
// trabajo de la segunda goroutine
}()
wg.Wait() // esperamos a que ambas terminen
De esta forma, WaitGroup ayuda a controlar la finalización de operaciones paralelas.