Ver Mensaje Individual
  #40 (permalink)  
Antiguo 26/07/2006, 16:18
Avatar de stock
stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años
Puntos: 53
Tema: Utilerias
Pregunta: como ejecutar una tarea cada cierto tiempo??
Respuesta: Java cuenta con la clase Timer, la cual ejecuta un TimerTask cada cierto intervalo definido por ti, esto es util cuando queremos hacer una reloj, o cuando queremos programar una animacion de imagenes, en fin, tiene muchas ventajas.

Aqui in ejemplo basico:

Código PHP:
/*************************************/

import java.util.Timer;
import java.util.TimerTask;

/**
 * @author crysfel
 * July 26, 2006
 */

public class Cronometro {
    private 
Timer timer;
    private 
int segundos;
    
    public 
Cronometro(int seconds) {
        
timer = new Timer();
        
segundos seconds;
        
timer.schedule(new RemindTask(),01*1000);
    }

    class 
RemindTask extends TimerTask {
        public 
void run() {
                
segundos--;
                
System.out.println(segundos);
                if(
segundos<=0){
                    
System.out.println("Terminamos la ejecucion del timer");
                    
timer.cancel(); 
                }
        }
    }

    public static 
void main(String args[]) {
            
System.out.println("Inicia conteo: 5");
            new 
Cronometro(5);
    }

El ejemplo anterior, lo unico que hace es un cronometro, cada segundo imprime el conteo regresivo, primero, la clase Cronometro en el contructor esta recibiendo el total de segundos a regresar, ahi se instancia el Timer, luego se invoca el metodo schedule, el cual recibe como parametro una clase Timertask, la cual para este caso es una clase muy sencilla llamada RemindTask que extiende de TimerTask y que sobreescribe el metodo run().

lo que se encuentre dentro del metodo run es lo que se estara ejecutando cada segundo.

have funnnnnnn