Junior — Middle
¿Cómo se implementa y gestiona el trabajo de múltiples goroutines en la aplicación?
sobes.tech AI
Respuesta de la IA
En Go, las goroutines son hilos ligeros gestionados por el runtime de Go, no por el sistema operativo. Cuando en una aplicación se crean muchas goroutines, el runtime de Go las programa para su ejecución en un número limitado de hilos del sistema (M), usando el modelo M:N (M hilos del sistema para N goroutines).
El planificador de Go distribuye las goroutines entre los hilos, cambiando de contexto muy rápidamente y de manera eficiente. Esto permite ejecutar miles e incluso millones de goroutines con bajos costos en memoria y tiempo.
Ejemplo de creación de una goroutine:
func sayHello() {
fmt.Println("Hola desde la goroutine")
}
func main() {
go sayHello() // iniciar la goroutine
time.Sleep(time.Second) // damos tiempo para que la goroutine se ejecute
}