a- import java.util.Date;
- import java.util.Timer;
- import java.util.TimerTask;
- /**
- * 定时器可以让我们在指定的时间完成某项任务,还可以重复的做某件事情
- * 依赖 Timer 和 TimerMask 两个类
- *
- * Timer:定时器
- * Timer();创建一个定时器
- * Timer(String name,boolean isDaemon);创建定时器,指定其相关线程的名称,并且设定是否为守护线程
- *
- * 方法:
- * void cancel();终止所有的计划任务
- * void schedule(TimerTask task,Date time);指定时间执行执行任务
- * void schedule(r task,Date firstTime,long period);
- * 从指定时间开始,以period的间隔时间重复执行计划任务
- * void schduleAtFixedRate(TimerTask task,Date firstTime,long period);
- * 固定速率执行
- *
- * void schedule(TimerTask task,long delay);
- * void schedule(TimerTask task,long delay,long period);
- *
- * TimerTask:任务 含有抽象方法run(),属于抽象类
- * 重写run()方法,定义自己要实现的功能
- *
- */
- public class TimerDemo {
- public static void main(String[] args) {
- Timer t = new Timer();
- System.out.println(new Date(System.currentTimeMillis()));
- // t.schedule(new MyTask(), 3000);//3秒后执行计划任务,此时计划任务并不会销毁,必须调用cancel()来终止
- t.schedule(new MyTask(t),3000,1000);
- }
- }
- class MyTask extends TimerTask{
- private Timer t = null; //接收定时器,提供结束计划任务的入口
- private int count = 0;
- public MyTask(){};
- public MyTask(Timer t){
- this.t = t;
- }
- public void run(){
- count++;
- System.out.println("我就是计划要执行的任务啦啦啦~~~~:"+count);
- System.out.println(new Date(System.currentTimeMillis()));
- if(count >= 5){
- t.cancel();//取消计划任务
- System.out.println("计划任务完成!!");
- }
- }
- }
复制代码
|
|