Hilos de ejecución

Un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea

La utilización de hilos permite ejecutar tareas simultáneamente y compartir los recursos durante la ejecución.

Los sistemas operativos hacen uso de los hilos permanentemente, ya que necesita hacer varias tareas simultáneamente. Estos hilos son la unidad de procesamiento mas pequeña para un sistema operativo.

Cuando varios hilos comparten algún recurso, si alguno de ellos modifica el recurso, inmediatamente los demás hilos sabrán del cambio y se verán afectados.

Cada hilo de ejecución tiene un puntero de instrucciones (Contador de programa), encargado de indicar el estado o posición dentro de la secuencia de instrucciones perteneciente al hilo. También tiene una pila de llamadas, donde se registra la secuencia de subrutinas y el punto de retorno de cada una de ellas. Por ultimo cada hilo tiene acceso a la CPU y a el valor de los registro de manera independiente.

Para ver en detalle como funciona un hilo y que características y ventajas tiene frente a los procesos vamos a crear un ejemplo practico para visualizarlo.

Otra gran ventaja que ofrecen los hilos es poder generar respaldo… por ejemplo, estamos ahora editando el archivo csv que descargamos anteriormente, abrimos un programa de hoja de cálculo. Ahora las suites como Office, LibreOffice, OpenOffice implementan este sistema, hasta aplicaciones en la nube. Y mientras editas el archivo en cada cambio que vas haciendo va guardando una copia temporal, en caso de que el archivo se cierre inesperadamente el trabajo realizado no se perderá.

Bueno, esto fue un pequeño resumen introductorio a lo que son los hilos. Si quieres mas información, como siempre puedes referirte a la Wikipedia o al omnisciente Google y no olvides dejar tus aportes o inquietudes en los comentarios.