Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Threads
Un thread es un hilo de ejecucin. No puede correr por si solo, sino que corre dentro de un programa, paralelo a este.
THREAD
PROGRAMA
Threads
Varios threads pueden estar ejecutandose al mismo tiempo, haciendo diferentes tareas cada uno.
THREAD A THREAD B
PROGRAMA
Threads en Java
En Java, los threads se pueden implementar de dos formas diferentes: (1) Implementando la interfaz Runnable (2) Extendendiendo la clase Thread
Interfaz Runnable
- Las clases que implementan esta interfaz quieren funcionar como un thread, es decir, quieren mantener una ejecucin secuencial propia - Solo requiere la implementacin de un mtodo: run(), en el cual se escriben las instrucciones que se quieran ejecutar mientras el thread este activo.
Interfaz Runnable
Ejemplo:
Interfaz Runnable
Ejemplo:
Interfaz Runnable
Ejemplo: Como se utiliza EjemploThread:
Se crea una instancia de la clase EjemploThread y despus se le aplica el mtodo run(). Esto hace que el Thread se ejecute.
Clase Thread
La clase Thread implementa la interfaz Runnable. A parte del mtodo run(), la clase Thread provee una serie de mtodos que nos pueden servir a la hora de manejar threads. (ver el API) Para crear un tipo de thread nuevo, hay que heredar de la clase Thread:
Clase Thread
Ejemplo:
Clase Thread
Ejemplo:
La clase debe heredar de la clase Thread
Clase Thread
Ejemplo:
Se pueden definir campos nuevos si el tipo de thread lo requiere, en este caso, MyThread guarda un entero.
Clase Thread
Ejemplo:
Si se agregaron campos, y se requieren verificaciones, es importante sobreescribir un constructor
Clase Thread
Ejemplo:
run() sigue siendo el mtodo mas importante, en donde se tiene que escribir que ejecutara el thread cuando este activo.
Clase Thread
Ejemplo:
Clase Thread
(parntesis Thread.sleep : Interrumpe el flujo de ejecucin por el numero de milisegundos que reciba de parmetro.
Thread.sleep(1500);
cierre parntesis)
Clase Thread
Ejemplo: Como se ejecuta el Thread:
Clase Thread
Ejemplo: Como se ejecuta el Thread:
Clase Thread
Ejemplo: Como se ejecuta el Thread:
Clase Thread
Ejemplo: Resultado
Clase Thread
Ejemplo 2:
Tambin se puede sobreescribir el mtodo start(), lo importante es siempre mandar a ejecutar super.start() antes de cualquier cosa. En start() se puede poner cualquier instruccin que se necesite ejecutar al momento en que el Thread se activa.
Clase Thread
Ejemplo 2:
Si se tienen diferentes tipos de Thread, deben crearse instancias para cada uno, y mandar a ejecutar el metodo start() en cada una de ellas.