您的位置:首页 > 编程语言 > Java开发

Java Timer定时器执行任务

2012-05-15 11:40 549 查看
package com.timerTools;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TestTimer {
Timer timer = new Timer();

/**
* 定时器任务制定,执行
* @param tag: 0.在指定的时间里,执行指定的任务;
* 			   1.在指定的时间里,按照指定的延迟,重复执行指定任务;
*             2.从指定的延迟后,执行指定任务;
*             3.从指定的延迟后,按照指定的延迟,重复执行指定的任务。
*
* @param mydate:指定的执行时间。只有在tag等于0、1才需要指定。
* @param delay: 延迟执行时间,毫秒数。只有在tag等于1、3才需要指定。
* @param period:间隔执行时间,毫秒数。只有在tag等于4才需要指定。
*/
public void executeTask(int tag, Date mydate,long delay, long period) {
if(tag == 0){
timer.schedule(new DefineTimerTask(), mydate);
}else if(tag == 1){
timer.schedule(new DefineTimerTask(), mydate, period);
}else if(tag == 2){
timer.schedule(new DefineTimerTask(),delay);
}else if(tag == 3){
timer.schedule(new DefineTimerTask(),delay,period);
}else{
System.out.println("Error:输入的定时器参数无效!");
}
}

/**
* 执行的定时器任务
*/
private class DefineTimerTask extends TimerTask {
//执行的次数
int count = 0;

public void run() {
System.out.println("执行定时任务 " + count);
count ++;
//执行第10次时取消任务
//if (count == 10) {
//timer.cancel();
//}
}
}

//定时器,执行任务测试
public static void main(String[] args) {
new TestTimer().executeTask(2,null,1000,1000);
new TestTimer().executeTask(3,null,1000,1000);
}
}


package com.timerTools;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class TestTimer { Timer timer = new Timer(); /** * 定时器任务制定,执行 * @param tag: 0.在指定的时间里,执行指定的任务; * 1.在指定的时间里,按照指定的延迟,重复执行指定任务; * 2.从指定的延迟后,执行指定任务; * 3.从指定的延迟后,按照指定的延迟,重复执行指定的任务。
* * @param mydate:指定的执行时间。只有在tag等于0、1才需要指定。 * @param delay: 延迟执行时间,毫秒数。只有在tag等于1、3才需要指定。 * @param period:间隔执行时间,毫秒数。只有在tag等于4才需要指定。 */ public void executeTask(int tag, Date mydate,long delay, long period) { if(tag == 0){ timer.schedule(new DefineTimerTask(),
mydate); }else if(tag == 1){ timer.schedule(new DefineTimerTask(), mydate, period); }else if(tag == 2){ timer.schedule(new DefineTimerTask(),delay); }else if(tag == 3){ timer.schedule(new DefineTimerTask(),delay,period); }else{ System.out.println("Error:输入的定时器参数无效!");
} } /** * 执行的定时器任务 */ private class DefineTimerTask extends TimerTask { //执行的次数 int count = 0; public void run() { System.out.println("执行定时任务 " + count); count ++; //执行第10次时取消任务 //if (count == 10) { //timer.cancel(); //} } } //定时器,执行任务测试 public static void
main(String[] args) { new TestTimer().executeTask(2,null,1000,1000); new TestTimer().executeTask(3,null,1000,1000); } }

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: