Sobes.tech
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.