Scheduling con Java

di Antonio Avolio 2

Java offre metodi nativi per poter supportare lo scheduling dei processi e delle azioni. Le classi deputate a tali compiti sono Timer e TimerTask. La classe TimerTask dovrà contenere il codice che vogliamo sia eseguito. Per far ciò, occorrerà sviluppare una nuova classe che estenda TimerTask, condizione fondamentale è la ridefinizione del metodo run() con le operazioni da schedulare, tale classe per chi ha dimestichezza con la gestione della concorrenza in Java somiglia ad una classe thread, ed infatti altro non è.


TimeTask implementa Runnable, e per poterla utilizzare occorre importare il package java.util.TimerTask. Implementata la nostra classe erede di TimerTask, occorrerà schedulare i nostri job all’interno del main principale, per far ciò ricorreremo all’oggetto Timer.

Per chiarici le idee come sempre vediamo un esempio, supponiamo di voler stampare ogni 5 secondi una stringa di saluto.

[sourcecode language=’java’]

import java.util.Timer;
import java.util.TimerTask;
public class ttask extends TimerTask{
String stringa;
public ttask(){
stringa=”Ciao a tutti”;
}
public void run(){
System.out.println(stringa);
}
}

[/sourcecode]

E la nostra classe mai sarà:

[sourcecode language=’java’]

public static void main(String[] args) {
Timer t=new Timer();
ttask tt= new ttask();
t.schedule(tt, 5000);
}

[/sourcecode]

Commenti (2)

Lascia un commento

Il tuo indirizzo email non verrà pubblicato.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>