Junior — Middle
¿Cuáles son las ventajas de usar goroutines en comparación con los hilos (threads)?
sobes.tech AI
Respuesta de la IA
Las goroutines en Go son hilos ligeros gestionados por el tiempo de ejecución de Go, no por el sistema operativo. Sus ventajas en comparación con los hilos tradicionales:
- Menor consumo de memoria: Las goroutines ocupan unos pocos kilobytes de memoria, mientras que los hilos — megabytes.
- Creación y cambio de contexto rápidos: El inicio y cambio entre goroutines es mucho más rápido.
- Simplicidad en la sincronización: Go proporciona canales para intercambiar datos de forma segura entre goroutines, lo que simplifica la programación concurrente.
- Escalabilidad: Se pueden lanzar miles e incluso millones de goroutines simultáneamente.
Ejemplo de creación de una goroutine:
func sayHello() {
fmt.Println("Hola desde la goroutine")
}
func main() {
go sayHello() // lanzamos la goroutine
time.Sleep(time.Second) // esperamos para que la goroutine tenga tiempo de ejecutarse
}