Junior — Middle
¿Utilizó el mecanismo de sincronización waitgroup al implementar su programa?
sobes.tech AI
Respuesta de la IA
Sí, en Go, el mecanismo sync.WaitGroup se usa a menudo para sincronizar varias goroutines. Permite que la goroutine principal espere a que finalicen un conjunto de tareas paralelas.
Ejemplo de uso:
var wg sync.WaitGroup
wg.Add(3) // esperamos 3 goroutines
for i := 0; i < 3; i++ {
go func(id int) {
defer wg.Done() // señalamos la finalización
fmt.Printf("Goroutine %d en ejecución\n", id)
// algún trabajo
}(i)
}
wg.Wait() // esperamos a que se llamen todos los Done
fmt.Println("Todas las goroutines han finalizado")
De esta manera, WaitGroup ayuda a gestionar correctamente el paralelismo y garantiza que el programa no termine antes de tiempo.