Hilos de ejecución

Hilos de ejecución

Hilos de ejecucion

 

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

Quieres saber mas… Sigue leyendo el post y entérate de manera muy fácil que es un hilo de ejecución.

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.

Vamos a suponer que tenemos un programa que se conecta a una base de datos con millones de registros, lo que nos permite el programa es actualizar la información, ingresar nuevos registros, eliminar registros, hacer consultas y ademas exportar esas consultas a archivos csv.

Este diagrama muestra el flujo del usuario en la aplicación de ejemplo

Este diagrama muestra el flujo del usuario en la aplicación de ejemplo.

El usuario solo puede hacer un proceso en la base de datos, puede estar consultando, ingresando registros, etc.

Pero si el usuario quisiera generar un csv con varios millones de registros, mientras el programa crea el archivo tomaría tiempo, seria muy tedioso para el usuario tener que esperar frente a un monitor hasta que aparezca una respuesta de la construcción del archivo csv.

Por este motivo es una buena idea implementar un hilo, de esta forma mientras el usuario sigue trabajando, el sistema esta construyendo el archivo, y luego le avisara que el archivo ya esta listo para su descarga. Es como si dos programas trabajan al tiempo. Esto da una gran ventaja, el usuario va a ser consiente de que su archivo se esta procesando, pero también que no hay tiempos muertos.

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.

Cuéntanos que te pareció el post… Recuerda Suscribirte, comentar y compartir 😀

Share This:

Jhontona

Deja un comentario