Junior — Middle
¿Cómo se implementan los cálculos paralelos en el lenguaje Go?
sobes.tech AI
Respuesta de la IA
En el lenguaje Go, los cálculos paralelos se implementan mediante goroutines (goroutines) y canales (channels).
Las goroutines son hilos ligeros que se inician con la palabra clave go. Permiten ejecutar funciones de forma asíncrona y paralela.
Ejemplo de ejecución paralela de dos funciones:
func tarea(id int) {
fmt.Printf("Tarea %d iniciada\n", id)
// simulación de trabajo
time.Sleep(time.Second)
fmt.Printf("Tarea %d finalizada\n", id)
}
func main() {
go tarea(1)
go tarea(2)
time.Sleep(2 * time.Second) // para que las goroutines puedan terminar
}
Los canales se usan para sincronizar y transferir datos entre goroutines, lo que permite intercambiar información de forma segura sin usar bloqueos.
De esta manera, Go proporciona medios simples y eficientes para organizar cálculos paralelos.