Looking for go Answers? Try Ask4KnowledgeBase
Looking for go Keywords? Try Ask4Keywords

GoConcurrencia


Introducción

En Go, la concurrencia se logra mediante el uso de goroutines, y la comunicación entre goroutines generalmente se realiza con canales. Sin embargo, otros medios de sincronización, como las exclusiones mutuas y los grupos de espera, están disponibles, y deberían usarse siempre que sean más convenientes que los canales.

Sintaxis

  • go doWork () // ejecuta la función doWork como una goroutine
  • ch: = make (chan int) // declara nuevo canal de tipo int
  • ch <- 1 // envío en un canal
  • valor = <-ch // recibiendo de un canal

Observaciones

Goroutines en Go son similares a los hilos en otros idiomas en términos de uso. Internamente, Go crea una serie de subprocesos (especificados por GOMAXPROCS ) y luego programa los goroutines para que se ejecuten en los subprocesos. Debido a este diseño, los mecanismos de concurrencia de Go son mucho más eficientes que los hilos en términos de uso de memoria y tiempo de inicialización.

Concurrencia Ejemplos relacionados