Threads Java
Threads Java
• Dispone de un método start() que ocasiona la ejecución del código que tenga
dentro de su método run() en un nuevo hilo, todos los hilos se ejecutan en la misma
máquina virtual (mismo proceso)
• Por tanto comparten recursos, como la memoria
• En realidad sólo puede haber un hilo ejecutándose a la vez (se alternan, gracias a
la concurrencia).
HILOS (THREADS)
La clase Thread tiene dos métodos para trabajar con las prioridades
• setPriority(int) establece la prioridad del hilo. Puede generar una excepción si:
el parámetro es inválido, o el hilo que invoca al método no tiene los permisos
necesarios para cambiarla
• getPriority() devuelve la prioridad del hilo Para los valores de las prioridades,
existen tres constantes estáticas en la clase Thread
• MAX_PRIORITY (=10): prioridad máxima
• MIN_PRIORITY (=1): prioridad mínima
• NORM_PRIORITY (=5): prioridad por defecto.
PARADAS VOLUNTARIAS
void sleep(long t) duerme el hilo durante al menos t milisegundos
• Cuando transcurran, el hilo estará preparado para ejecutarse
• El planificador lo lanzará cuando considere oportuno
void sleep(long milis, int nanos) versión con más precisión (a nivel de
nanosegundos)
• En la práctica, las implementaciones no tienen tanta precisión…
Las dos versiones del método sleep pueden generar la excepción
InterruptedException que hay que capturar
void yield() pausa temporalmente el hilo
• No queda suspendido, sino que sigue estando preparado para la ejecución
• El planificador se activa y carga otro hilo para ejecutar, que podría ser el mismo
ACTIVIDADES
Realizar un resumen de la información de esta presentación electrónica
Investigar cuales son los estados d un hilo (agregar fuente bibliográfica de
libros)
Generar un mapa mental de los estados de un hilo
Crear la practica del splash utilizando hilos