Goroutines – Concurrencia en Golang

Go language proporciona una función especial conocida como Goroutines. Una Goroutine es una función o método que se ejecuta de forma independiente y simultánea en conexión con cualquier otra Goroutine presente en su programa. O, en otras palabras, cada actividad que se ejecuta simultáneamente en el lenguaje Go se conoce como Goroutines. Puede considerar un … Continue reading «Goroutines – Concurrencia en Golang»

Múltiples Gorrutinas

Prerrequisito: Múltiples Goroutines Una Goroutine es una función o método que se ejecuta de forma independiente y simultánea en conexión con cualquier otra Goroutine presente en su programa. O, en otras palabras, cada actividad que se ejecuta simultáneamente en el lenguaje Go se conoce como Goroutines. En el lenguaje Go, puede crear varias rutinas en … Continue reading «Múltiples Gorrutinas»

Golang | Gorutina vs Hilo

Goroutine: una Goroutine es una función o método que se ejecuta de forma independiente y simultánea en conexión con cualquier otra Goroutine presente en su programa. O, en otras palabras, cada actividad que se ejecuta simultáneamente en el lenguaje Go se conoce como Goroutines. Hilo: Un proceso es una parte de un sistema operativo que … Continue reading «Golang | Gorutina vs Hilo»

Uso de WaitGroup en Golang

Las rutinas Go son un excelente punto de venta para Golang, por lo que es una elección de muchos desarrolladores. En este post veremos un problema común con estos e intentaremos solucionarlo. Veamos un fragmento de código simple que ilustra este problema, Go package main    import «fmt»    func runner1() {     fmt.Print(«\nI am first … Continue reading «Uso de WaitGroup en Golang»

Condición de carrera en Golang

Según Wikipedia, la condición de carrera se define como la condición de una electrónica, software u otros sistemas donde el comportamiento sustantivo del sistema depende de la secuencia o el tiempo de otros eventos incontrolables. La condición de carrera cae bajo el departamento de «Concurrencia». La concurrencia es el arte de progresar en múltiples tareas … Continue reading «Condición de carrera en Golang»

Canal protegido en Golang

Los canales se pueden definir como conductos mediante los cuales se comunican Goroutines . Al igual que el agua fluye de un extremo a otro en una tubería, los datos se pueden enviar desde un extremo y recibir desde el otro mediante canales. Por defecto, los canales no tienen búfer, lo que indica que solo … Continue reading «Canal protegido en Golang»

Canal unidireccional en Golang

Como sabemos, un canal es un medio de comunicación entre rutinas que se ejecutan simultáneamente para que puedan enviarse y recibir datos entre sí. De forma predeterminada, un canal es bidireccional, pero también puede crear un canal unidireccional. Un canal que solo puede recibir datos o un canal que solo puede enviar datos es el … Continue reading «Canal unidireccional en Golang»

¿Cómo pausar la ejecución de Goroutine actual?

Una Goroutine es una función o método que se ejecuta de forma independiente y simultánea en conexión con cualquier otra Goroutine presente en su programa. O, en otras palabras, cada actividad que se ejecuta simultáneamente en el lenguaje Go se conoce como Goroutines. Entonces, en el lenguaje Go, puede pausar la ejecución de la rutina … Continue reading «¿Cómo pausar la ejecución de Goroutine actual?»