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 es responsable de ejecutar una aplicación. Cada programa que se ejecuta en su sistema es un proceso y para ejecutar el código dentro de la aplicación, un proceso usa un término conocido como subproceso. Un hilo es un proceso ligero, o en otras palabras, un hilo es una unidad que ejecuta el código bajo el programa. Entonces, cada programa tiene lógica y un hilo es responsable de ejecutar esta lógica.
Estas son algunas de las diferencias entre Goroutine y Thread:
gorutina | Hilo |
---|---|
Las gorutinas son administradas por el tiempo de ejecución go. | Kernal administra los subprocesos del sistema operativo. |
Goroutine no depende del hardware. | Los subprocesos dependen del hardware. |
Goroutines tiene un medio de comunicación fácil conocido como canal. | El hilo no tiene un medio de comunicación fácil. |
Debido a la presencia del canal, una gorutina puede comunicarse con otra gorutina con baja latencia. | Debido a la falta de un medio de comunicación fácil, la comunicación entre subprocesos tiene lugar con una latencia alta. |
Goroutine no tiene ID porque go no tiene almacenamiento local de subprocesos. | Los subprocesos tienen su propia ID única porque tienen almacenamiento local de subprocesos. |
Las rutinas Gor son más baratas que los hilos. | El costo de los hilos es más alto que goroutine. |
Se programan cooperativamente. | Están programados de forma preventiva. |
Han ayunado el tiempo de inicio que los hilos. | Tienen un tiempo de inicio lento que goroutines. |
Goroutine tiene pilas segmentadas crecientes. | Los subprocesos no tienen pilas segmentadas en crecimiento. |
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA