son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa
La principal utilización de hilos en un programa es para el aislamiento y sincronización de
tareas. La clase Thread desciende de Object e implementa la interface Runnable y no es
necesario importarlas a nuestro programa ya que se encuentran dentro del paquete
java.lang
Creando una clase que herede de la clase Thread y sobrecargando el método run().
Implementando la interface Runnable, y declarar el método run().
Para poder hacer que se ejecute un thread de la clase SimpleThread, primero se debe crear una instancia de dicha clase y llamar al método start(), tal método se encarga de llamar al método run(). Para el ejemplo anterior, el código sería:
SimpleThread miThread = new SimpleThread("Hilo de Prueba").start();
Thread(String), Thread() Crea un nuevo thread con o sin nombre
Thread(Runnable) Crea un nuevo thread pasándole una referencia a un objeto que implementa Runnable.
Thread(Runnable, String) Igual que el anterior, pero con un nombre
Thread(ThreadGroup, String) Análogos a los anteriores, pero creando el thread
Thread(ThreadGroup, Runnable) dentro del ThreadGroup especificado
Thread currentThread() Devuelve una referencia al thread actual.
int activeCount() Devuelve el número de threads activos en el grupo.
String getName(), setName(String) Obtiene o establece el nombre de un thread
ThreadGroup getThreadGroup() Obtiene el grupo al que pertenece el thread.
boolean isAlive() Indica si el thread está vivo o no.
start(), run() Arranca el thread y ejecuta su principal cometido
int getPriority(), setPriority(int)Obtiene o establece la prioridad del thread
sleep(long), sleep(long, int) Duerme el thread un tiempo especificado
METODO YIELD() tiene la función de hacer que un hilo que se
está ejecutando de regreso al estado en ejecución(runnable) para permitir que otros hilos de la misma prioridad puedan ejecutarse.
El método yield() nunca causará que un hilo pase a estado de espera/bloqueado/dormido, simplemente pasa de ejecutándose(running) a en ejecución(runnable).
EJEMPLOS…
TIMERS
¿Qué son los timers? El Timer es un temporizador que nos
permite ejecutar instrucciones de código, rutinas, funciones etc..., cada cierto intervalo de tiempo.
¿Qué hacen los timers? La clase Timer dispara uno o más
ActionEvent después de un retardo especificado. Los temporizadores son útiles en las siguientes situaciones.
Hacer algo después de un retardo. Por ejemplo, muchos componentes Swing, como los botones, usan un temporizador para determinar cuando mostrar un tool-tip.
Mostrar progresos periódicamente Realizar animaciones
Método o constructor:
Timer(int, ActionListener)
Crea un timer inicializado con un retardo y un oyente. Este es el único constructor de Timer.
void setDelay(int) int getDelay()
Selecciona u obtiene el retardo entre disparos.
void setInitialDelay(int) int getInitialDelay()
Selecciona u obtiene el retardo para el disparo inicial
Método o constructor:
void setRepeats(boolean) boolean isRepeats()
Selecciona u obtiene si el timer se repite
void setCoalesce(boolean) boolean isCoalesce()
Selecciona u obtiene su el timer junta varios disparos pendientes en un único disparo.
Para ejecutar el timer…
void start() void restart()
Activa el timer. restart cancela cualquier disparo pendiente.
void stop() Desactiva el timer
boolean isRunning() Obtiene si el timer se está ejecutando.
Para escuchar el disparo del timer..void addActionListener(ActionListener)
Añade o elimina el oyente de action
void removeActionListener(ActionListener)
Añade o elimina el oyente de action
EJEMPLO…