Procesos

Páginas: 5 (1074 palabras) Publicado: 6 de noviembre de 2014
2. Conceptos sobre hilos

Para que un hilo exista tiene que haber un proceso
No puede ejecutarse por si solo
Dentro de un proceso puede haber varios hilos ejecutándose

2.1 Recursos compartidos por los hilos

Cada hilo lleva asociados:
- Identificador único
- Un contador de programa propio
- Un conjunto de registros
- Una pila (variables locales)

Un hilo puede compartir conotros hilos del mismo proceso los siguientes recursos:

- Código
- Datos
- Otros recursos del sistemas operativo,como los ficheros abiertos y las señales.


Cuando varios hilos comparten recursos es necesario utilizar esquemas de bloque y sincronización

2.2 Ventajas y usos de hilos

Ventajas sobre los procesos:
- Se consumen menos recursos en el lanzamiento, y la ejecución de unhilo que en el lazamiento y ejecución de un proceso.
- Se tarda menos tiempo en crear y terminar un hilo que un proceso.
- La conmutación entre hilos del mismo proceso o cambio de contexto es bastante más rápida que entre procesos.

Cuando utilizar hilos:
-La aplicación maneja entrada de varios dispositivos de comunicación
- La aplicación debe poder realizar diferentes tareas a la vez.- Interesa diferenciar tareas con una prioridad variada.
- La aplicación se va a ejecutar en un entorno multiprocesador.

3.1 Utilidades de concurrencia del paquete java.lang.
(TABLA RESUMIDA DE LA CLASE THREAD)


3.2 Utilidades de concurrencia del paquete java.util.concurrent (Semáforos)


4. Creación de hilos

Los hilos se pueden implementar o definir de dos formas:
-Extendiendo la clase thread
- Mediante la interfaz Runnable
En ambos casos, se debe proporcionar una defición del método run()

Cuando utilizar unno u otro ?
- Extender la clase thread es el procedimiento más sencillo, pero no siempre es posible. Si la clase ya hereda de alguna otra clase padre, no será posible heredar también de la clase thread, por lo que habrá que recurrir al otro procedimiento.- Implementar Runnable siempre es posible, es el procedimiento más general y también el más flexible.

4.1 Creación de hilos extendiendo de la clase Thread

Para definir y crear un hilo extendidendo la clase thread, haremos los siguiente:
- Crear una nueva clase que herede de la clase thread
- Redefinir en la nueva clase el método run() con el código asociado al hilo. Las sentencias queejecutará el hilo.
- Crear un objeto de la nueva clase thread. Éste será realmente el hilo

Una vez creado el hilo, para ponerlo en marcha o iniciarlo:
-Invocar el método start() del objeto thread (hilo que hemos creamos)

4.2 Creación de hilos mediante la interfaz Runnable.

Para deficinar y crear hilos implementando la interfaz Runnable seguiremos los siguiente pasos:
- Declarar unanueva clase que implemente a Runnable
- Redefinir en la nueva clase el método run() con el código asociiado al hilo. Lo que queramos que haga el hilo.
- Crear un objeto de la nueva clase.
- Crear un objeto de la clase thread pasando como argumento el constructor, el objeto cuya clase tiene el método run(). Este será realmente el hilo.

Una vez creado el hijo, para ponerlo en marcha oiniciarlo:
-Invocar el método strat() del objeto thread(el hilo que hemos creado).


5. Estados de un hilo

- Nuevo
- Ejecutable.
- No ejecutable o detenido
- Muerto o finalizado















5.1 Iniciar un hilo

5.2 Detener temporalmente un hilo

Que un hilo se ha detenido significar que el hilo ha pasado al estado “No Ejecutable”.

Puede estar en el estado “NoEjecutable” por alguna de estar circunstancias:

- EL hilo se ha dormido
- El hilo está esperando
- El hilo se ha bloqueado



















5.3 Finalizar un hilo

La forma natural de que muera un hilo es cuando termina de ejecutarse el método run(), pasa al estado “Muerto”.

Una vez que el hilo ha muerto no lo puedes iniciar otra vez con strat(). Si en tu...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • proceso y procesador
  • Proceso Y Procesamiento
  • Procesos
  • Procesos
  • Proceso
  • Proceso
  • En proceso
  • Procesos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS