Java Timer类和TimerTask类的定时使用
package com.text;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Text {
private Timer timer = new Timer();
private int index = 0;
private TimerTask timerTask = new TimerTask() {
@Override
public void run() {
System.out.println("index:" + (index++));
if (index > 10) {
timer.cancel(); // 清空计时
}
}
};
public void start1() {
timer.schedule(timerTask, 5000, 1000);// 5秒以后启动,并每隔1秒启动一次
}
public void start2() {
timer.schedule(timerTask, 5000);// 5秒以后启动一次
}
public void start3() {
Calendar c = Calendar.getInstance();
c.add(Calendar.SECOND, 10);
Date date = c.getTime(); // 10秒以后的时间
timer.schedule(timerTask, date, 1000);// 10秒以后启动,并没隔1秒启动一次
}
public void start4() {
Calendar c = Calendar.getInstance();
c.add(Calendar.SECOND, 10);
Date date = c.getTime(); // 10秒以后的时间
timer.schedule(timerTask, date);// 10秒以后启动一次
}
public static void main(String args[]) throws ParseException {
Text text = new Text();
text.start3();
}
}
package com.text; import java.text.ParseException; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Text { private Timer timer = new Timer(); private int index = 0; private TimerTask timerTask = new TimerTask() { @Override public void run() { System.out.println("index:" + (index++)); if (index > 10) { timer.cancel(); // 清空计时 } } }; public void start1() { timer.schedule(timerTask, 5000, 1000);// 5秒以后启动,并每隔1秒启动一次 } public void start2() { timer.schedule(timerTask, 5000);// 5秒以后启动一次 } public void start3() { Calendar c = Calendar.getInstance(); c.add(Calendar.SECOND, 10); Date date = c.getTime(); // 10秒以后的时间 timer.schedule(timerTask, date, 1000);// 10秒以后启动,并没隔1秒启动一次 } public void start4() { Calendar c = Calendar.getInstance(); c.add(Calendar.SECOND, 10); Date date = c.getTime(); // 10秒以后的时间 timer.schedule(timerTask, date);// 10秒以后启动一次 } public static void main(String args[]) throws ParseException { Text text = new Text(); text.start3(); } }