zoukankan      html  css  js  c++  java
  • Timer 和TimerTask的使用

    Timer是一种定时器工具,用来在后台执行计划执行的任务 ,可以一次或多次反复执行。

    TimerTask是一个抽象类,继承他的子类可以作为Timer的计划任务 。

    schedule的意思相当于计划表的意思,他可以传入多个参数,与多个重构

    一个小例子:

    这个方法继承TimerTask接口,来作为任务给Timer

    public class Timer2 extends TimerTask {
    	@Override
    	public void run() {
    		int a = 0;
    		while(a < 5){
    			try {
    				Thread.sleep(1000);
    			} catch (InterruptedException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			System.out.println(a++);
    		}
    	}
    }

    这个类来执行任务。

    public class AAA {
    	public static void main(String[] args) throws InterruptedException {
    		Timer timer = new Timer();
    		Timer2 timer2 = new Timer2();
    		timer.schedule(timer2, new Date(), 10000);
    //timer.schedule(timer2, new Date());
    
    		//Thread.sleep(3000);
    		//timer.cancel();
    	}
    }


    timer.schedule(timer2, new Date(), 10000);//timer2是一个继承了TimerTask的类作为任务,new Date(),作为神魔时候开始执行,10000为延迟的时间,及下一个执行

    当然,timer.schedule的重构好多,用到的可以去查api,

    schedule(TimerTask task, long delay);//在延时delay毫秒后执行

    还有一个需要注意的地方就是canle();

    当你的一个任务正在执行的时候你执行canle是对当前的任务没有影响的,只有当前任务执行完了以后,计划任务中的下一个任务才会停止。



  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3098821.html
Copyright © 2011-2022 走看看