0% encontró este documento útil (0 votos)
77 vistas29 páginas

Hilos Java

Este documento trata sobre hilos en Java. Explica conceptos básicos como que un hilo es una secuencia de código que se ejecuta dentro del contexto de un proceso. Describe las clases relacionadas con hilos en Java como Thread, Runnable, ThreadDeath y ThreadGroup. Explica dos métodos para crear hilos: extendiendo la clase Thread o implementando la interfaz Runnable. También cubre temas como la prioridad de los hilos, sincronización y agrupamiento de hilos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas29 páginas

Hilos Java

Este documento trata sobre hilos en Java. Explica conceptos básicos como que un hilo es una secuencia de código que se ejecuta dentro del contexto de un proceso. Describe las clases relacionadas con hilos en Java como Thread, Runnable, ThreadDeath y ThreadGroup. Explica dos métodos para crear hilos: extendiendo la clase Thread o implementando la interfaz Runnable. También cubre temas como la prioridad de los hilos, sincronización y agrupamiento de hilos.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Hilos en java

Leidy Carvajal Ortiz Lisa Fernanda Betancourt Leydi Carvajal Henao


Universidad del Valle

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Introduccion

Introduccion

Un proceso puede informalmente entenderse como un programa en ejecuci on. Formalmente un proceso es Una unidad de actividad que se caracteriza por la ejecuci on de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados. Un hilo es una secuencia de c odigo en ejecuci on dentro del contexto de un proceso. Los hilos no pueden ejecutarse ellos solos; requieren la supervisi on de un proceso padre para correr. Dentro de cada proceso hay varios hilos ejecut andose.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Introduccion

Benecios

Grado de respuesta: una operaci on multihilos en una aplicaci on interactiva puede permitir que un programa continue en ejecucion, incluso si una de sus partes esta bloqueada o realizando una operaciontardada, lo que incrementa el grado de respuesta al usuario. Compartir recursos: por omisi on, los hilos comparten la memoria y los recursos del proceso al que pertenecen. el benecio de compartir c odigo permite que una aplicaci on tenga varios hilos diferentes de actividad, todos dentro del mismo espacio de direcciones.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Introduccion

Benecios
Economia: la asignacion de memoria y recursos para la creacion de procesos es costosa, debido a que los hilos comparten recursos del proceso al que pertenecen, es mas economico crear hilos y cambiar su contexto. Utilizacion de arquitecturas de multiprocesadores: los benecios de la operaci on multihilos pueden incrementarse en forma signicativa en una arquitectura de multiprocesadores, en donde cada hilo puede estar ejecuntandose en paralelo en un procesador diferente. En una arquitectura de un solo procesador, la CPU generalmente se mueve entre cada hilo de manera tan rapida que existe la ilusion de paralelismo, pero en realidad solo un hilo esta en ejecuci on a las vez.
Leidy,Lisa,Joanna Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

Thread

Es la clase que encapsula todo el control necesario sobre los hilos de ejecuci on (threads). Es responsable de producir hilos funcionales para otras clases. Para controlar el comportamiento de los hilos la clase Thread dene metodos como start() y stop(), los cuales permiten comenzar y parar la ejecuci on del hilo.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

Metodos de la clase Thread

M etodo currentThread() yield() Devuelve el objeto thread que representa al hilo de ejecuci on que se est a ejecutando actualmente. Hace que el interprete detenga temporalmente la ejecuci on del objeto del hilo y permita que el siguiente hilo disponible se ejecute. Provoca que el int erprete de Java ponga la tarea a dormir durante un tiempo indicado en milisegundos, transcurrido dicho tiempo la tarea estar a disponible para ejecuci on

sleep( long )

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

Metodos de la clase Thread


M etodo start() Este m etodo indica al int erprete de Java que cree un contexto del hilo del sistema y comience a ejecutarlo. El m etodo run() constituye el cuerpo de un hilo en ejecuci on. Este m etodo provoca que el hilo se detenga de manera inmediata. suspend(),resume(),setPriority( int ) getPriority(),setName( String ),getName()

run() stop( ) Otros m etodos

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

Runnable

La interfaz Runnable proporciona la capacidad de a nadir la funcionalidad de un hilo a una clase a trav es del metodo run().

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

ThreadDeath

Proporciona medios para manejar y noticar errores. Cuando el m etodo stop() de un hilo es invocado, una instancia de ThreadDeath es lanzada por el hilo como un error.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

ThreadGroup

Se utiliza para manejar un grupo de hilos de modo conjunto. Esta clase proporciona m etodos stop(), suspend() y resume() para controlar la ejecuci on de todos los hilos pertenecientes al grupo.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable ThreadDeath ThreadGroup Object

Object

Proporciona los m etodos wait(), notify() y notifyAll().

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Hilos en Java

El soporte para hilos lo proporciona el sistema operativo o bien un paquete de biblioteca de hilos. Java es unico, ya que proporciona el soporte a nivel de lenguaje para la creacion y administracion de hilos. . Todo programa en java incluye por lo menos un hilo de control simple.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Creaci on de Hilos

En cuanto al proceso de creaci on de hilos, son dos los mecanismos que nos permiten llevarlo a cabo en Java: implementando la interfaz Runnable, o extendiendo la clase Thread.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Creacion de hilos por medio de la clase Thread

Consiste en la creaci on previa de una subclase de la clase Thread

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Creacion de hilos por medio de la clase Thread

La creaci on de un objeto que se deriva de la clase Thread no crea de manera especica al hilo,mas bien el m etodo start() es el que realmente lo crea.

(NOTA: nunca se debe llamar al metodo run() directamente. Hay que llamar al metodo start() y este llamara al metodo run().

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Creacion de hilos por medio de la interfaz Runnable

Consiste en denir una clase que implemente la interfaz Runnable. Esta interfaz se dene de la siguiente manera:

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Creacion de hilos por medio de la interfaz Runnable


La creaci on de un nuevo hilo a partir de una clase que implementa Runnable. Es ligeramente diferente de la creaci on de un hilo a partir de una clase que extienda de Thread. Dado que la nueva clase no extiende a Thread, no tiene acceso a los m etodos est aticos o de instancia como el m etodo start() .Sin embargo, todav a se necesita un objeto de la clase Thread debido a que es el m etodo start() el que crea el nuevo hilo de control.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Creacion de hilos por medio de la interfaz Runnable

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Porque java soporta dos enfoques para la creaci on de hilos?

Debido a que java no soporta herencia m ultiple. En el caso de crear un hilo extendiendo la clase Thread, se pueden heredar los m etodos y variables de la clase padre. Si es as , una misma subclase solamente puede extender o derivar una vez de la clase padre Thread. Esta limitaci on de Java puede ser superada a trav es de la implementaci on de Runnable.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Hilos en java

Que enfoque es mas apropiado?

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Que enfoque es mas apropiado?

Si la clase hereda de otra, implementar Runnable. Normalmente es mas sencillo heredar de Thread.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Estado y control de un hilo

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Thread Runnable Thread Vs. Runnable

Agrupamiento de hilos

Los grupos de hilos proporcionan un mecanismo de reuni on de m ultiples hilos dentro de un u nico objeto y de manipulaci on de dichos hilos en conjunto, en lugar de una forma individual. La clase ThreadGroup ofrece la funcionalidad necesaria para la manipulaci on de grupos de hilos para las aplicaciones Java.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Prioridad Tiempo Compratido

Prioridad

Todo hilo en Java tiene una prioridad ,la cual ayuda al sistema operativo a determinar el orden en el que se programan los hilos. Las prioridades de Java var an entre MIN PRIORITY (una constante de 1) y MAX PRIORITY (una constante de 10). De manera predeterminada, cada hilo recibe la prioridad NORM PRIORITY (una constante de 5).

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Prioridad Tiempo Compratido

Prioridad

El entero m as alto designar a la prioridad m as alta y el m as bajo,la menor. Se ejecutar a primero el hilo de prioridad superior,llamado Ejecutable, y s olo cuando este para, abandona o se convierte en No Ejecutable, comienza la ejecuci on de en hilo de prioridad inferior. Si dos hilos tienen la misma prioridad, el programador elige uno de ellos en alguna forma de competici on.
Nota:Las constantes (MAX PRIORITY , MIN PRIORITY, NORM PRIORITY) se declaran en la clase Thread.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Prioridad Tiempo Compratido

Prioridad

Para establecer una prioridad [Link](valor Entero);

Para obtener la prioridad de un hilo [Link]();

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Prioridad Tiempo Compratido

Tiempo compartido

La estrategia del tiempo compartido determina cu al de una serie de hilos con igual prioridad se pasa a ejecutar.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

Sincronizacion

Sincronizacion

Cuando en un programa tenemos varios hilos corriendo simult aneamente es posible que varios hilos intenten acceder a la vez a un mismo sitio (un chero, una conexi on, un array de datos) y es posible que la operaci on de uno de ellos entorpezca la del otro. Para evitar estos problemas, hay que sincronizar los hilos.

Leidy,Lisa,Joanna

Hilos

Conceptos Basicos Clases Relacionadas con hilos Creacion de hilos Prioridad de los hilos Sincronizacion

References

[Link] hilos_tutorial-java/[Link] [Link] trabajos/[Link] [Link] Interactiva/lecturas/[Link]

Leidy,Lisa,Joanna

Hilos

También podría gustarte