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)