Ensayo Topicos
Ensayo Topicos
Ensayo Topicos
CUARTO SEMESTRE
ENSAYO
UNIDAD 3
HILOS Y MULTIHILOS
También están los multihilos estos contienen dos o más partes que se pueden
ejecutar simultáneamente. Cada parte de dicho programa se denomina hilo y cada
hilo define una ruta de ejecución independiente. Por lo tanto, multihilo es una forma
especializada de multitarea. La ventaja principal del multihilo es que le permite
escribir programas muy eficientes porque le permite utilizar el tiempo de inactividad
que está presente en la mayoría de los programas. Como probablemente sepa, la
mayoría de los dispositivos de E/S, ya sean puertos de red, unidades de disco o el
teclado, son mucho más lentos que la CPU. Por lo tanto, un programa a menudo
pasará la mayor parte de su tiempo de ejecución esperando para enviar o recibir
información hacia o desde un dispositivo.
Al usar multihilo, tu programa puede ejecutar otra tarea durante este tiempo de
inactividad. Por ejemplo, mientras una parte de tu programa está enviando un
archivo a través de Internet, otra parte puede leer la entrada del teclado, y otra puede
almacenar el siguiente bloque de datos para enviar.
Por lo tanto, en un sistema de núcleo único, dos o más hilos no se
ejecutan al mismo tiempo, pero se utiliza el tiempo de CPU inactivo. Sin embargo,
en sistemas multiprocesador/multinúcleo, es posible que dos o más hilos se
ejecuten de manera simultánea. En muchos casos, esto puede mejorar aún más la
eficiencia del programa y aumentar la velocidad de ciertas operaciones.
Sin embargo, un programa multihilo mal hecho puede dar lugar problemas como:
Interbloqueo este se produce cuando las peticiones y las esperas se entrelazan de
forma que ningún proceso puede avanzar. También puede ocurrir inanición esto se
refiere a que ningún proceso consigue hacer ninguna tarea útil y por lo tanto hay
que esperar a que el administrador del sistema detecte el interbloqueo y mate
procesos, o hasta que alguien reinicie el equipo.
Conclusión.
Los hilos son pequeños procesos de ejecución de código por partes secuenciales,
estos deben esperar a que termine la ejecución de uno para que pueda ejecutarse
otro o hacer alguna otra función en el programa. Mientras que los multihilos nos
permiten la ejecución de varios procesos de ejecución a la vez, agilizando la tarea
a realizar, pero estos deben tener una estructura y definición correcta ya que de no
ser así estos pueden causar prejuicios en lugar de acelerar la tarea. Todos los hilos
comparten el mismo espacio de direcciones y otros recursos como pueden ser
archivos abiertos. Cualquier modificación de un recurso desde un hilo afecta al
entorno del resto de los hilos del mismo proceso. Por lo tanto, es necesario
sincronizar la actividad de los distintos hilos para que no interfieran unos con otros
o corrompan estructuras de datos.
Bibliografías:
Mc Graw Hill
México
Martín, Antonio
Segunda Edición.
México
Primera Edición.
México