Sobes.tech
Junior — Middle

¿Qué tipos de implementación de tareas paralelas conoces?

sobes.tech AI

Respuesta de la IA

En Go, las tareas paralelas se pueden implementar de varias maneras:

  • Goroutines — hilos ligeros que se inician con la palabra clave go. Permiten ejecutar funciones en paralelo.

  • Canales — se utilizan para comunicación y sincronización entre goroutines, permitiendo transferir datos de forma segura.

  • Pools de trabajadores — un grupo de goroutines que toman tareas de una cola y las procesan, ayudando a controlar la cantidad de goroutines que trabajan simultáneamente.

  • sync.WaitGroup — para esperar a que un grupo de goroutines termine.

Ejemplo de cómo iniciar una goroutine y enviar datos a través de un canal:

ch := make(chan int)
// Iniciar una goroutine
go func() {
    ch <- 42 // enviar valor al canal
}()
// Recibir valor del canal
val := <-ch
fmt.Println(val)