Execute a process at regular intervalTag(s): Thread
JDK1.3 introduces a way to execute a process at regular interval (java.util.Timer and java.util.TimerTask).
JDK1.5 provides a mechanism to create a pool a scheduled task (java.util.concurrent.ScheduledThreadPoolExecutor (javadoc)).
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class DemoScheduledTask {
public static void main(String args[]) {
// pool size == 5
ScheduledThreadPoolExecutor stpe = new ScheduledThreadPoolExecutor(5);
SimpleTask01 st01 = new SimpleTask01();
// start right now and after every 5 sec.
stpe.scheduleAtFixedRate(st01, 0, 5, TimeUnit.SECONDS);
SimpleTask02 st02 = new SimpleTask02();
// start in 1 sec and after every 2 sec.
stpe.scheduleAtFixedRate(st02, 1, 2, TimeUnit.SECONDS);
}
}
class SimpleTask01 implements Runnable {
public void run() {
System.out.println("Real's HowTo");
}
}
class SimpleTask02 implements Runnable {
int current = 10;
public void run() {
if (current > 0) {
System.out.println(current--);
if (current == 0) {
System.out.println("end.");
}
}
}
}
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com