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 {@Overridepublic void run() {System.out.println(2);new Timer().schedule(new TimerTask1(), 2000);}};class TimerTask1 extends TimerTask {@Overridepublic void run() {System.out.println(1);new Timer().schedule(new TimerTask2(), 5000);}};
?功能基本实现,不过新对象不断增加,容易造成内存溢出,不知如何能更好
?