Sobes.tech
Middle+

Cuéntame sobre WaitGroup en Go.

sobes.tech AI

Respuesta de la IA

En Go, sync.WaitGroup se utiliza para esperar a que finalicen un grupo de goroutines. Es una forma conveniente de sincronizar tareas paralelas.

Métodos principales:

  • Add(int) — incrementa el contador de goroutines esperadas.
  • Done() — decrementa el contador, se llama cuando una goroutine termina.
  • 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

De esta forma, WaitGroup ayuda a controlar la finalización de operaciones paralelas.