Java Timer定时器执行任务

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); } }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值