Del curso: Domina Go: Idioms y pruebas de código

Accede al curso completo hoy mismo

Únete hoy para acceder a más de 24.100 cursos impartidos por expertos del sector.

Creación de canales en Go

Creación de canales en Go

En lugar de hacer esperas activas y bloquear la ejecución de nuestros programas, por ejemplo, utilizando time.Sleep, en Go se utilizan channels. Los channels son una primitiva de sincronización que permite a las gorutinas comunicarse entre sí y sincronizar su ejecución. Los channels son muy útiles para la sincronización de datos y para evitar condiciones de carrera, ya que permiten a las gorutinas enviar y recibir valores de forma segura. Para ello, utilizan un mecanismo de señalización que permite a las gorutinas bloquearse hasta que se envíe o reciba un valor. De este modo, utilizaremos channels cuando necesitemos enviar y recibir, mediante alguna señalización, valores entre gorutinas. Además, los channels pueden ser de cualquier tipo de dato, incluyendo tipos de datos compuestos como estructuras o slices. En cuanto a los tipos de channels que podemos crear, agrupamos los channels en varios grupos: channels sin buffer y channels con buffer, dependiendo si almacenan valores en…

Contenido