Middle — Senior
¿Cuál es el papel del método Wg.Wait en la sincronización de hilos?
sobes.tech AI
Respuesta de la IA
El método Wg.Wait() del paquete sync en Go se utiliza para sincronizar varias goroutines. Bloquea la ejecución de la goroutine que llama hasta que el contador WaitGroup llegue a cero, es decir, hasta que todas las goroutines añadidas mediante Add() llamen a Done().
Ejemplo:
var wg sync.WaitGroup
wg.Add(2)
goroutine() {
defer wg.Done()
// trabajo de la primera goroutine
}()
goroutine() {
defer wg.Done()
// trabajo de la segunda goroutine
}()
wg.Wait() // Espera a que ambas goroutines terminen
De esta forma, Wg.Wait() garantiza que el programa no continuará hasta que todas las tareas paralelas hayan finalizado.