Diferencias entre los procesos
thread y multi-thread
Thread Multi-thread Proceso
Podemos definirlos como una Multihilo se refiere a que dos o Ejecución de diversas
secuencia de instrucciones las cuales más tareas se ejecutan instrucciones por parte del
el sistema operativo puede "aparentemente" a la vez, dentro microprocesador, de acuerdo a lo
programar para su ejecución a de un mismo programa, que indica un programa.
diferencia de un proceso, los threads normalmente las plataformas Un proceso informático, puede
son entidades mucho más pequeñas, tienen una sola CPU, con lo cual estar en ejecución, bloqueado o
lo cual los hace fáciles de gestionar, los procesos se ejecutan en listo (cuando libera el
tanto es así que un thread es la realidad "concurrentemente", sino microprocesador para que pueda
unidad más pequeña a la cual un que comparten la CPU. En dedicarse a otro proceso).
procesador puede asignar tiempo a plataformas con varias CPU, sí es Por lo general, en la línea de
diferencias de los procesos, los posible que los procesos se sistemas operativos de Windows,
cuales viven dentro del sistema ejecuten realmente a la vez. un proceso se cumple en un
operativo, los threads viven dentro de Tanto en el multiproceso como en inicio a través de 4 pasos
los procesos. Un thread se crean, el multihilo (multitarea), el Sistema
ejecutan y finalizan dentro de un Operativo se encarga de que se Arranque del sistema.
proceso, dicho en otras palabras: Un genere la ilusión de que todo se Se realiza una llamada para que
thread le pertenece a un proceso, un ejecuta a la vez. Sin embargo, la aparezca la creación del proceso.
proceso puede poseer múltiples multitarea puede producir Además, debe existir una petición
threads. Si lo vemos en términos de programas que realicen más del usuario para crear dicho
base de datos pudiésemos decir que trabajo en la misma cantidad de proceso.
esta es una relación uno a muchos. tiempo que el multiproceso, debido En el caso de que el proceso
Algo interesante a mencionar es que a que la CPU está compartida cuente con varias tareas por
debido a que los Thread existen entre tareas de un mismo proceso. cumplir, se inicia un trabajo por
dentro de los procesos, estos pueden Además, como el multiproceso lotes.
compartir información entre ellos; está implementado a nivel de Adicional a lo anterior, es
Algo a lo cual sin duda le podemos sistema operativo, el programador importante mencionar que la
sacar mucho provecho, pero que no puede intervenir en el creación de procesos en
también puede llegar hacer planteamiento de su ejecución; sistemas operativos basados en
complicado de manejar. Uno de los mientras que, en el caso del Unix es un tanto diferente.
problemas más comunes al momento multihilo, como el programa debe
de trabajar con Threads un problema ser diseñado expresamente para En Unix se realiza una llamada al
que surge cuando más de un thread que pueda soportar esta sistema fork, después se creará
intenta acceder y modificar un característica, es imprescindible un proceso llamado hijo que
espacio en memoria compartido, que el autor tenga que planificar tendrá semejanzas con el
ocasionando que el programa se adecuadamente la ejecución de proceso padre.
comporte de forma inadecuada cada hilo, o tarea.