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是对当前的任务没有影响的,只有当前任务执行完了以后,计划任务中的下一个任务才会停止。



  • 相关阅读:
    C和C++内存模型
    makefile 学习归纳
    为知笔记给你更多
    二级指针探讨
    使用vscode书写博客
    C/C++ 笔试题一
    从一段经典错误代码说起——关于局部变量指针和函数传参的问题分析
    socket编程再分析(-)——基础
    samba服务器配置
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />详解
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3098821.html
Copyright © 2011-2022 走看看