Junior — Middle
¿Qué técnicas de procesamiento paralelo se implementan en el lenguaje Go?
sobes.tech AI
Respuesta de la IA
En Go, se implementan las siguientes técnicas de procesamiento de tareas paralelas:
-
Goroutines — hilos ligeros que se inician con la palabra clave
go. Permiten ejecutar funciones en paralelo. -
Canales — mecanismo de comunicación entre goroutines, que permite transmitir datos y sincronizar la ejecución.
-
Selectores — construcción para esperar varias operaciones en canales, permitiendo procesar datos de múltiples fuentes.
-
Paquete sync — contiene primitivas de sincronización, como
Mutex,WaitGroup,Once, que ayudan a gestionar el acceso a recursos compartidos y coordinar la finalización de las goroutines.
Ejemplo de inicio de una goroutine y transmisión de datos a través de un canal:
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "listo"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg) // salida: listo
}