Java: come utilizzare la classe Timer

Vediamo oggi come utilizzare la classe Timer di Java eseguendo dei singoli task

Quando si scrive un’applicazione può capitare la necessità di dover stabilire l’esecuzione programmata con un timer di una determinata porzione di codice e lasciare che questa porzione di codice si ripeta in continuazione oppure fino a un numero preciso di volte.

La classe Timer risulta utile quando abbiamo la necessità di eseguire un task a scadenza periodica del tutto personalizzabile nel tempo e nel numero di volte.

 

package application.timer;
import java.util.Timer;
import java.util.TimerTask;
public class UseTimer {
public static void main(String[] args){
Timer timer = new Timer("CountExecution");
CustomTimerTask customTimerTask = new CustomTimerTask();
timer.schedule(customTimerTask, 0, 3500);
}
}
class CustomTimerTask extends TimerTask {
private int countTime=1;
public void run(){
if(countTime<=5){
System.out.println("Task executed "+countTime+" time ");
countTime++;	
}else{
this.cancel();
}
}
}

Ho creato una nuova istanza di Timer e una versione personalizzata di TimerTask estendendo la super classe di origine, ho assegnato al timer un valore in millisecondi per specificare quanto deve essere lungo l’intervallo di tempo che separa ogni nuova esecuzione del mio task.

Nella sottoclasse di TimerTask tengo traccia del numero delle esecuzioni e quanto supero la soglia utile interrompo il task con una chiamata al metodo cancel().

 

 

 

Please follow and like us: