Sobes.tech
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.