programacion multihilo
Trabajo Teórico
Mayo, 2004
Multihilo en Java
Raúl Herrero Pascual
Rubén Montero Diez
Departamento de Informática y Automática
Universidad de Salamanca
Información de los autores:
Raúl Herrero Pascual
Departamento de Informática y Automática
Facultad de Ciencias - Universidad de Salamanca
Plaza de la Merced S/N – 37008 - Salamancaruly2oo2@yahoo.es
Rubén Montero Diez
Departamento de Informática y Automática
Facultad de Ciencias - Universidad de Salamanca
Plaza de la Merced S/N – 37008 - Salamanca
r_montero_diez@yahoo.es
Este documento puede ser libremente distribuido.
© Programación Orientada a Objetos 2004
Resumen
En este documento se recogen los detalles fundamentales del manejo de threads en Java. No
pretende ser másque una introducción a este tema en concreto, tratando simplemente de
comentar las operaciones que se pueden realizar sobre ellos y explicar algunos detalles de su
implementación.
Estas operaciones nos determinarán los diferentes estados del ciclo de vida por el que pasa
un thread, también se explican algunas formas de sincronización para evitar problemas de
concurrencia, y por último lasprioridades de los hilos para que estos se ejecuten en un
determinado orden.
Abstract
In this document the basic details for working with threads in Java are presented. It only intent
to be an introduction to this specific subject, we only try to comment the operations that we can
realize with them and explain some details of them implementation.
This operations decides the different statesof the life’s cycle that a thread does, some ways
of synchronization for preventing turnout problems are also explain, and finally thread’s
priorities for that threads are executed in a fixed order.
Programación Orientada a Objetos - 2004
I
Tabla de Contenidos
1.
Introducción ______________________________________________
1
2.
Multitarea y multihilo____________________________________
1
2.1.
Programas de flujo único ____________________________________ 2
2.2.
Programas de flujo múltiple __________________________________ 2
3.
Creación de threads _____________________________________
3
3.1.
Construcción de una clase derivada de Thread ________________ 3
3.2.
Implementación del Interface Runnable _______________________ 4
4.Paso de parámetros a los threads ____________________
6
5.
Ciclo de vida de un thread _____________________________
7
5.1.
La clase Thread _____________________________________________ 7
5.2.
Métodos de Clase ___________________________________________ 7
5.3.
Métodos de Instancia ________________________________________ 7
5.4.
Estados de un Thread_______________________________________ 9
6.
6.1.
7.
Sincronización
__________________________________________ 11
Ejemplo____________________________________________________ 14
Prioridades y threads daemon _______________________
19
7.1.
Conmutación de contexto ___________________________________ 19
7.2.
Threads daemon ___________________________________________ 20
8.Grupos de hilos _________________________________________
20
9.
Comentario_______________________________________________
21
10. Conclusiones ____________________________________________
22
11. Referencias ______________________________________________
23
12. Bibliografía _______________________________________________
23
II
Programación Orientada a Objetos - 2004Tabla de Ilustraciones
Figura 1. Disputa de CPU entre procesos pesados ____________________________ 2
Figura 2. Visualización de la salida de ThredEjemplo _________________________ 4
Figura 3. Estados de un thread ___________________________________________ 9
Figura 4. Situación de los filósofos comilones_______________________________ 14
Figura 5. Visualización de la salida del...
Regístrate para leer el documento completo.