Java hilos
Java Threads (Hilos en Java)
Inmaculada González Pérez Antonio Juan Sánchez Martín David Vicente Hernández
Departamento de Informática y Automática Universidad de Salamanca
CRÉDITOS:
Revisado por: Dr. Francisco José García Peñalvo Área de Ciencia de la Computación e Inteligencia Artificial Departamento de Informática y Automática Facultad deCiencias – Universidad de Salamanca
Información de los autores: Inmaculada González Pérez inmab612@hotmail.com Antonio Juan Sánchez Martín ant_solo@hotmail.com David Vicente Hernández dvdvicente@hotmail.com
Este documento puede ser libremente distribuido 2002 Departamento de Informática y Automática – Universidad de Salamanca.
Resumen
Este documento recoge una descripción delconcepto y uso de los hilos o threads, como flujo de control en un programa, en el lenguaje de programación orientado a objetos que es Java. Se tratan los aspectos más relevantes desde una perspectiva teórica, incluyendo, a modo de aclaración, breves ejemplificaciones de uso
i
Tabla de contenidos
1. 2. 3. 4. Conceptos Básicos Sobre Hilos....................................................................... 1 Clases Relacionadas con los Hilos .................................................................. 2 Creación de Hilos ......................................................................................... .. 4 Estado y Control de un Hilo ......................................................................... .. 6 4.1. Estado de un hilo............................................................................. . 6 4.2. Control de un hilo ..........................................................................….8 Agrupamiento de Hilos ................................................................................… 9 5.1. El grupo de hilos por defecto .......................................................…. 10 5.2. Creación de un hilo en un grupo de formaexplícita ...................…. 10 5.3. La clase ThreadGroup ............................................................…..10 Planificación y Prioridad de Hilos ...........................................................…. .14 6.1. Scheduling (planificación) ...........................................................… .14 6.2. Prioridad................................................................................….…. .15 6.3. Tiempo compartido ...............................................................….….. .17 Sincronización ........................................................................................…… 18 7.1. Ejemplo: problema del productor-consumidor .......................….... 18 7.2. Monitores................................................................................….... .20 Hilos Daemon ............................................................................................. ...22 Conclusiones …………………………………………………………………….….22 Apéndice A: Funciones Miembro de la Clase Thread...........................……. 23 Apéndice B:Hilos y Métodos Nativos ....................................................….... 25 Apéndice C: Hilos en Applets. Ejemplos................................................…....27 Apéndice D: Hilos en Servlest…………………………………………………... 32 Bibliografía .............................................................................................…. 33
5.
6.
7.
8. 9. 10. 11. 12. 13. 14.
ii
1. Conceptos Básicos sobre Hilos
El multihilo soportado en Java gira alrededor del concepto de hilo. La cuestión es, ¿qué es un hilo?De forma sencilla, un hilo es un único flujo de ejecución dentro de un proceso. Pero será mejor comenzar desde el principio y explicar qué es un proceso. Un proceso es un programa ejecutándose dentro de su propio espacio de direcciones. Java es un sistema multiproceso, esto significa que soporta varios procesos corriendo a la vez dentro de sus propios espacios de direcciones. Estamos más...
Regístrate para leer el documento completo.