Hilos java

Páginas: 16 (3817 palabras) Publicado: 11 de octubre de 2010
HILOS

Uno de los pasos importantes que la informática dio a favor de los desarrolladores de Software (Sw), fue colocar un nivel de Sw por encima del Hardware (Hw) de un ordenador.

Este nivel de Sw, conocido como Sistema Operativo (S.O), es en escencia una interfaz fácil de utilizar que nos permite controlar todas las partes de Hw, en la mayoría de los casos, sin un profundo conocimientodel mismo.

El concepto central de cualquier S.O. es el proceso. Cualquier ordenador hoy en día es capaz de hacer varias cosas simultáneamente: por ejemplo, puede estar imprimiendo un documento por la impresora y ejecutando un programa del usuario. De esta forma, todos los programas, incluyendo los que componen el S.O., que tengan que ejecutarse simultáneamente (multiprogramación) se organizan envarios procesos secuenciales.

Concepto de PROCESO.

Un proceso en un ejemplar en ejecución de un programa. Cada proceso consta de bloque de códigos y de datos cargados desde un fichero ejecutable o desde una biblioteca dinámica.

También es propietario de otros recursos que se crean durante la vida de dicho proceso y se destruyen cuando finaliza. Por ejemplo, un proceso posee:

• Supropio espacio de direcciones

• Su memoria

• Sus variables

• Ficheros abiertos

• Procesos hijos

• Contador de programa, registros, pila, señales, semáforos, etc.

Lo anterior, es equivalente a decir que cada proceso tiene su propia UCP virtual, lo que nos permite comprender mejor cómo un sistema puede ejecutar varios procesos simultáneamente, aunque la realidadsea que la CPU alterna entre esos procesos.

De lo anterior se deduce que un proceso puede estar en ejecución (está utilizando la CPU), preparado (está detenido temporalmente para que se ejecute otro proceso) o bloqueado (no se puede ejecutar debido a que ocurrió algún evento al que hay que responder adecuadamente). Entre estos tres estados principales son posibles, como muestra la figura #1,con 4 transiciones:

Si un proceso en ejecución no puede continuar, pasa el estado de bloqueo o también, si puede continuar y el planificador decide que ya ha sido ejecutado el tiempo suficiente, pasa al estado preparado.

Si el proceso está bloqueado, pasará a preparado cuando se dé el evento externo por el que se bloqueó y si está preparado, pasa a ejecución cuando el planificador lo decidaporque los demás procesos ya han tenido su parte de tiempo de CPU.

HILOS

Un hilo (Thread – llamado también proceso ligero o subproceso) es la unida de ejecución de un proceso y está asociado con un secuencia de instrucciones, un conjunto de registro y una pila.

Cuando se crea un procesos, el S.O. crea su primer hilo (hilo primario) el cual puede a su vez, crear hilos adicionales.

Estopone de manifiesto que un proceso no se ejecuta, sino que es sólo el espacio de direcciones donde reside el código que es ejecutado mediante uno o más hilos.

Como ya se ha indicado, cada hilo se ejecuta en forma estrictamente secuencial y tiene su propia pila, el estado de los registros de la CPU y su propio contador de c programa.

En cambio, comparten el mismo espacio de direcciones, loque significa compartir también las mismas variables globales, el mismo conjunto de ficheros abiertos, procesos hijos ( no hilos hijo), señales, semáforos, etc.

Entonces ¿qué ventajas aporta un hilo a un proceso?. Los hilos comparten un espacio de memoria, el código y los recursos, por lo que el lanzamiento y la ejecución de un hilo es mucho más económica que el lanzamiento y la ejecución de unproceso.

Por otra parte, muchos problemas pueden ser resueltos mejor con múltiples hilos; y si no, piense cómo puede escribir un programa con un solo hilo de control para mostrar animación, sonido, visualizar documento y traer ficheros de Internet, al mismo tiempo.

No obstante, habrá situaciones en las que la mejor solución para ayudar en el trabajo sea crear un nuevo proceso (proceso...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Hilos en java
  • Hilos en java
  • Hilos De Java
  • Hilos en java
  • Programación con hilos en java
  • Trabajo hilos java
  • Hilos en java ok
  • Threads (hilos) java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS