Hilo vs Proceso
Proceso
En el mundo de la programación de computadoras, un proceso es una instancia o ejecución de un programa. Cada proceso contiene un código de programa y la actividad existente. Puede haber más de un hilo que puede formar un proceso en particular. Las instrucciones pueden ejecutarse al mismo tiempo. Sin embargo, dependerá del sistema operativo que se utilice..
Básicamente, los procesos son programas muy sustanciales. Consumen considerables cantidades de memoria. Por lo tanto, dependen en gran medida de los recursos disponibles para la ejecución. Habiendo dicho todo esto, se sabe que un proceso es un “proceso de peso pesado”.
Cada proceso ocurre en una ubicación de memoria diferente. Por lo tanto, si hay más procesos presentes, el cambio entre cada proceso es muy costoso, ya que tomará tiempo de cada asignación de memoria cambiar a otra asignación. Cada proceso tiene su propio espacio de direcciones que puede engullir cantidades sustanciales de suministro.
Un proceso es independiente de otros procesos. Por lo tanto, cuando se modifica un proceso padre, no necesariamente afectará a otros procesos. Debido a este comportamiento, los procesos requieren comunicación entre procesos para que puedan comunicarse con sus hermanos.
Además, los procesos, debido a su naturaleza mucho más compleja, no se crean con facilidad. Esto puede requerir una cierta duplicación de procesos, generalmente un proceso padre, para lograr la construcción.
Hilo
Incluso con recursos mínimos del sistema, los subprocesos se pueden ejecutar simultáneamente para lograr una tarea específica. La razón es el hecho de que un hilo es sólo una secuencia de ejecución. Es simplemente dentro de un proceso y es por eso que también se lo conoce como un "proceso ligero".
Se considera como la parte más pequeña de un programa, ya que es una ruta de ejecución secuencial independiente dentro de un programa. El cambio de contexto entre hilos requiere cantidades mínimas de recursos a diferencia de los procesos. Los hilos, en esencia, comparten espacios de direcciones y también se crean fácilmente.
También se debe mencionar que los cambios realizados en el subproceso principal pueden tener un efecto en el comportamiento de los otros subprocesos dentro del mismo proceso. Aparentemente, la comunicación entre hilos en el mismo proceso es directa y continua..
Resumen:
1. Un proceso puede contener más de un hilo..
2. Un proceso se considera "pesado", mientras que un hilo se considera "ligero".
3. Los procesos dependen en gran medida de los recursos del sistema disponibles, mientras que los hilos requieren cantidades mínimas de recursos.
4. La modificación de un subproceso principal puede afectar los subprocesos posteriores, mientras que los cambios en un proceso principal no necesariamente afectarán los procesos secundarios.
5. Los hilos dentro de un proceso se comunican directamente mientras que los procesos no se comunican tan fácilmente.
6. Los hilos son fáciles de crear, mientras que los procesos no son tan sencillos.