ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

DESARROLLO DE APLICACIONES CON MANEJO DE PROCESO SIMULTÁNEO Y USO DE MENÚS: JAVA


Enviado por   •  20 de Octubre de 2017  •  Apuntes  •  543 Palabras (3 Páginas)  •  259 Visitas

Página 1 de 3

SENA

DESARROLLO DE APLICACIONES CON MANEJO DE PROCESO SIMULTÁNEO Y USO DE MENÚS: JAVA

LEONARDO FABIO MALAGÓN AVENDAÑO

Concepto de hilo

Los lenguajes de programación generalmente se enfocan en la elaboración de tareas pequeñas (métodos o funciones, como son llamados en algunos lenguajes) que unidas solucionan un problema o ejecutan una tarea, usualmente el compilador lee y traduce el código a lenguaje máquina línea a línea, esto implica que la ejecución se lleva a cabo de la misma manera, haciendo que la estructura del programa sea netamente lineal en el tiempo.

Un programa debido a su naturaleza algorítmica se puede representar en diagramas de flujo (práctica bastante popular en los cursos de iniciación en la programación).  Un diagrama de flujo que represente un programa multihilo se visualizaría una especie de árbol, cuyas ramas representan los threads (hilos) , es decir un hilo o flujo de control del programa.

Diferencia existe entre multihilo y multiproceso

Cuando se habla de multiproceso se puede entender que cada aplicación se aloja en cada núcleo del procesador, entonces el algoritmo es ejecutado por el núcleo que lo contenga, esto implica que cuando hablamos de multiproceso, nos referimos a la ejecución de varios programas en el mismo intervalo de tiempo, pero con diferente información, es decir tareas individuales.

 

Cuando se habla de multihilo, el núcleo del procesador ejecuta varios hilos, es decir lleva a cabo todas las ramificaciones posibles de un  mismo programa, con la misma información y en el mismo intervalo de tiempo, e incluso el mismo espacio en memoria.

  • El control de una tarea multiproceso lo tiene el sistema operativo, mientras que el control de una tarea multihilo lo tiene el programa.
  • La tarea multihilo comparte los recursos del programa, mientras que los recursos multiproceso son independientes.
  • El programador controla el acceso a los recursos del programa en una tarea multihilo.
  • El multihilo permite la utilización de tareas background

¿Por qué usar hilos?

  • Utilizan de forma más eficiente los recursos de hardware de la máquina.
  • Evitan el congelamiento del programa: Ejecuta tareas mientras se lee el disco o se espera la conexión de red, esto implica una optimización de los tiempos de espera.
  • Es el principio fundamental de las animaciones, dado que muestra un elemento animado, mientras espera un comando, por ejemplo los videojuegos.
  • Su estructura se hace más elegante y comprensible.

Ventajas de la programación con hilos.

  • Evita las redundancias de código.
  • Comparte la información, esto permite la actualización de datos en tiempo real.
  • Concentra los esfuerzos de procesador en la solución de un único proceso antes de ejecutar el proceso.
  • Permite las variaciones y predispone al programa para ello, haciéndolo más eficiente.
  • Evita la fragmentación de datos en el disco duro.
  • Dado que la comunicación entre hilos se da por medio de campos u objetos resulta más eficiente que re asignar valores y utilizar constructores, no obstante debido a que no es tan clara la jerarquía, es posible que haya interferencia entre hilos, es decir que varios hilos trabajen al mismo tiempo con el mismo campo u objeto y se dañe el proceso de tratamiento de datos.
  • cada hilo tiene una tarea específica y determinada, como forma de aumentar la eficiencia del uso del procesador.
  • Es más rápido crear y ejecutar un hilo, que crear y ejecutar un proceso.
  • Ejecución interactiva

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (75 Kb) docx (10 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com