Multihilo java
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 - Salamanca ruly2oo2@yahoo.esRubé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ás que unaintroducció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 las prioridades de loshilos 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 states of the life’s cycle thata 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. 2.
2.1. 2.2.
Introducción ______________________________________________ Multitarea y multihilo ____________________________________
1 1Programas de flujo único ____________________________________ 2 Programas de flujo múltiple __________________________________ 2
3.
3.1. 3.2.
Creación de threads _____________________________________
3
Construcción de una clase derivada de Thread ________________ 3 Implementación del Interface Runnable _______________________ 4
4. 5.
5.1. 5.2. 5.3. 5.4.
Paso de parámetros a losthreads ____________________ Ciclo de vida de un thread _____________________________
6 7
La clase Thread _____________________________________________ 7 Métodos de Clase ___________________________________________ 7 Métodos de Instancia ________________________________________ 7 Estados de un Thread _______________________________________ 9
6.
6.1.
Sincronización__________________________________________ 11
Ejemplo____________________________________________________ 14
7.
7.1. 7.2.
Prioridades y threads daemon _______________________
19
Conmutación de contexto ___________________________________ 19 Threads daemon ___________________________________________ 20
8. 9.
Grupos de hilos _________________________________________Comentario_______________________________________________
20 21 22 23 23
10. Conclusiones ____________________________________________ 11. Referencias ______________________________________________ 12. Bibliografía _______________________________________________
II
Programación Orientada a Objetos - 2004
Tabla de Ilustraciones
Figura 1. Disputa de CPU entre procesos pesados ____________________________ 2 Figura2. 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 problema de los filósofos comilones ______ 18
Programación Orientada a Objetos - 2004
III
1. Introducción...
Regístrate para leer el documento completo.