TimerTaskは、異なる時間間隔操作(例えば、平日の特定の時間にメールを受け取る)を実現する.
package Test;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TranditionalTimer {
/*
*
* TimerTask1 TimerTask2 , run
*/
public static void main(String[] args) {
int n = 0;
Timer timer1 = new Timer();
timer1.schedule(new TimerTask1(), 2000 * (n++));
/*
*
*/
while (true) {
try {
Thread.sleep(1000);
System.out.println(" " + new Date().getSeconds() + " ");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class TimerTask2 extends TimerTask {
@Override
public void run() {
System.out.println(2);
new Timer().schedule(new TimerTask1(), 2000);
}
};
class TimerTask1 extends TimerTask {
@Override
public void run() {
System.out.println(1);
new Timer().schedule(new TimerTask2(), 5000);
}
};
機能は基本的に実現しているが、新しいオブジェクトが増え続け、メモリオーバーフローを招きやすく、どうすればいいか分からない.