Hilos

Páginas: 60 (14802 palabras) Publicado: 30 de enero de 2013
13. Gestión de hilos de ejecución.
En este capítulo se mostrará una de las características relevantes que caracterizan
a las aplicaciones Java, la concurrencia de tareas. Como bien es sabido, una de las
características que hacen que Java sea empleado en servidores de aplicaciones con
grandes volúmenes de peticiones es la multitarea. La multitarea en Java se logra a traves
de los hilos.Hasta ahora se ha visto en capítulos anteriores como la maquina virtual ejecuta
un programa sencillo, como gestiona la memoria de los objetos que se crean y como se
ejecutan los métodos. En esta capítulo, se abordara en detalle como se comporta
internamente la maquina virtual cuando se han de ejecutar aplicaciones multihilo.
Previamente al estudio de la implementación interna de la ejecuciónmultihilo en
la KVM, se mostrará un apartado introductorio de esta potente herramienta. Partiendo
del concepto de multitarea se llegará hasta las distintas formas de implementar esta
multitarea.

Ya sumergiéndonos en el ámbito de la KVM, la gestión multihilo se encuadra
dentro del tipo combinación ULT-KLT que como se verá en la introducción combina
gestión de los hilos a nivel software (porparte de la maquina virtual) y a nivel sistema
operativo (tareas que realiza el sistema operativo). En particular el algoritmo que se
emplea en la planificación de hilos dentro de la KVM es conocido como round-robin y
es estudiado con detalle en este capítulo.
Un aspecto crucial cuando se trata con sistemas multihilo es la comunicación
entre los hilos. Java permite que distintos hilos puedanacceder a una misma instancia
de un objeto o elementos del mismo, es lo que se conoce como sincronización entre
hilos. Es por ello que la KVM dispone de un mecanismo de sincronismo de objetos
compartidos transparente al usuario para controlar el acceso simultáneo a dichos
objetos. Básicamente este mecanismo consiste en la implementación de un semáforo en
tres niveles para poder acceder desde unhilo a cualquier objeto.

13.1. Introducción.
Un hilo de ejecución, en los sistemas operativos, es similar a un proceso en que
ambos representan una secuencia simple de instrucciones ejecutada en paralelo con
otras secuencias. Los hilos permiten dividir un programa en dos o más tareas que corren
simultáneamente, por medio de la multiprogramación. En realidad, este método permite
incrementarel rendimiento de un procesador de manera considerable. En todos los
sistemas de hoy en día los hilos son utilizados para simplificar la estructura de un
programa que lleva a cabo diferentes funciones.
Todos los hilos de un proceso comparten los recursos del proceso. Residen en el
mismo espacio de direcciones y tienen acceso a los mismos datos. Cuando un hilo
modifica un dato en la memoria,los otros hilos utilizan el resultado cuando acceden al
dato. Cada hilo tiene su propio estado, su propio contador, su propia pila y su propia

copia de los registros de la CPU. Los valores comunes se guardan en el bloque de
control de proceso (PCB), y los valores propios en el bloque de control de hilo (TCB).
Muchos lenguaje de programación (como Java), y otros entornos de desarrollosoportan
los llamados hilos o hebras (en inglés, threads ).
Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica
(iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente.
De esta manera el programa responde más ágilmente a la interacción con el usuario.

13.1.1.

Diferencias entre hilos y procesos.

Los hilos se distinguen de lostradicionales procesos en que los procesos son
generalmente independientes, llevan bastante información de estados, e interactúan sólo
a través de mecanismos de comunicación dados por el sistema. Por otra parte, muchos
hilos generalmente comparten otros recursos directamente. En los sistemas operativos
que proveen facilidades para los hilos, es más rápido cambiar de un hilo a otro dentro
del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Hilos
  • hila
  • hilos
  • Hila
  • Hilos
  • HILO
  • hila
  • Hilos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS