Junior — Middle
¿Cuál es el papel y la función de la estructura WaitGroup en el desarrollo en Go?
sobes.tech AI
Respuesta de la IA
En Go, la estructura WaitGroup se utiliza para sincronizar varias goroutines. Permite que la goroutine principal espere a que finalicen otras goroutines.
Métodos principales:
- Add(int): incrementa el contador de goroutines esperadas.
- Done(): decrementa el contador en 1, se llama al finalizar una goroutine.
- Wait(): bloquea la ejecución hasta que el contador llegue a 0.
Ejemplo de uso:
var wg sync.WaitGroup
wg.Add(2) // esperamos 2 goroutines
go func() {
defer wg.Done()
// trabajo de la goroutine 1
}()
go func() {
defer wg.Done()
// trabajo de la goroutine 2
}()
wg.Wait() // esperamos a que ambas goroutines terminen
De esta forma, WaitGroup ayuda a gestionar correctamente la ejecución paralela y la espera de finalización de tareas.