Junior — Middle
¿Puedes explicar qué es un Wait Group y para qué se utiliza en programación?
sobes.tech AI
Respuesta de la IA
Wait Group en Go es una estructura del paquete sync que se usa para esperar a que un grupo de goroutines termine. Permite que la goroutine principal (u otra) se bloquee hasta que todas las goroutines lanzadas finalicen su trabajo.
Métodos principales:
Add(int)— incrementa el contador de goroutines esperadas.Done()— decrementa el contador, se llama al finalizar una goroutine.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
Esto es útil para sincronizar tareas paralelas y evitar que el programa termine prematuramente.