Sobes.tech
Junior

¿Quién controla las goroutines en el lenguaje Go?

sobes.tech AI

Respuesta de la IA

Las goroutines en el lenguaje Go son gestionadas por el planificador interno (scheduler) del runtime de Go. Este planificador se encarga de distribuir las goroutines entre los hilos del sistema operativo (OS threads) y garantiza la ejecución concurrente.

Puntos clave:

  • El planificador de Go funciona a nivel de usuario, no del núcleo del sistema operativo.
  • Cambia eficientemente entre goroutines, permitiendo ejecutar miles de tareas ligeras.
  • El desarrollador simplemente inicia una goroutine con go y no gestiona los hilos directamente.

Ejemplo de inicio de una goroutine:

func sayHello() {
    fmt.Println("Hola desde la goroutine")
}

func main() {
    go sayHello() // el planificador lanzará esta goroutine
    time.Sleep(time.Second) // para dar tiempo a que la goroutine se ejecute
}