Es una secuencia de instrucciones que está controlada por un
planificador
Conocidos tambien como procesos ligeros
Caracteristicas
actuan sobre una memoria compartida
tienen su
propio contador
de programa y
su propia pila
de ejecución
casi todas las clases referentes a los Threads se encuentran en el paquete java.lang.*
la clase principal es java.lang.Nos ofrece el APi generico de los Threads incluyendo: arrancar
dormirse parar ejecutarse esperar gestion de prioridades
la logica que se va a ejecutar un Thread se incluye el método : public void run()
Implementar un Thread
Existen dos metodos para hacerlo
1.- Heredar la clase java.lang.Thread y sobreescribir el metodo run()
2.- implementar la interfaz java.lang.Runnable y crear una instancia de la clase java.lang.Thread .
Crear un Thread
para crearlo hay que llamar al constructor para instanciarlo
Si se hereda de la clase java.lang.Thread simplemente se instancia nuestra clase
si se implementa de la interfaz java.lang.Runnable, se instancia la clase java.lang.Thread pasandole como parametro del constructor una instancia de
nuestra clase
Arrancar un Thread
Hay que llamar al metodo start(), el cual registra al Thread el cual registra en el planificador de tareas y llama al metodo run().
Pausar un Thread
Se llama al metodo sleep()y recibe un long con el numero de milisegundos de la pausa
o a su vez se llama al metodo wait() y espera hasta recibir una señal (notify)
Reanudar un Thread
Se consumen los milisegundos dispuestos por el metodo sleep() o a su ves recibe la notificacion del
notify en el metodo wait()
Finalizar un Thread
la manera correcta de que finalice un Thread es conseguir que finalice la ejecucion del metodo run() mediante la implementacion de algun tipo de bucle controlado