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); } }
Java Timer定时器执行任务
最新推荐文章于 2024-07-12 10:34:08 发布