son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las...

17

Upload: estrella-barriga

Post on 02-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa
Page 2: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

Page 3: 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

Page 4: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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().

Page 5: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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();

Page 6: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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

Page 7: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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

Page 8: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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).

Page 9: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

EJEMPLOS…

Page 10: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

TIMERS

Page 11: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

¿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.

Page 12: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

¿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

Page 13: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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

Page 14: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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.

Page 15: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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.

Page 16: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

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

Page 17: son segmentos de código de un programa que se ejecutan secuencialmente de modo independiente de las otras partes del programa

EJEMPLO…