A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-9-11 16:12  /  470 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a
  1. import java.util.Date;
  2. import java.util.Timer;
  3. import java.util.TimerTask;

  4. /**
  5. * 定时器可以让我们在指定的时间完成某项任务,还可以重复的做某件事情
  6. * 依赖 Timer  和 TimerMask 两个类
  7. *
  8. *         Timer:定时器
  9. *                 Timer();创建一个定时器
  10. *                 Timer(String name,boolean isDaemon);创建定时器,指定其相关线程的名称,并且设定是否为守护线程
  11. *
  12. *         方法:
  13. *                 void cancel();终止所有的计划任务
  14. *                 void schedule(TimerTask task,Date time);指定时间执行执行任务
  15. *                 void schedule(r task,Date firstTime,long period);
  16. *                                 从指定时间开始,以period的间隔时间重复执行计划任务
  17. *                 void schduleAtFixedRate(TimerTask task,Date firstTime,long period);
  18. *                                 固定速率执行
  19. *
  20. *                 void schedule(TimerTask task,long delay);
  21. *                 void schedule(TimerTask task,long delay,long period);
  22. *
  23. *         TimerTask:任务  含有抽象方法run(),属于抽象类
  24. *                 重写run()方法,定义自己要实现的功能
  25. *
  26. */

  27. public class TimerDemo {
  28.         public static void main(String[] args) {
  29.                 Timer t = new Timer();
  30.                 System.out.println(new Date(System.currentTimeMillis()));
  31. //                t.schedule(new MyTask(), 3000);//3秒后执行计划任务,此时计划任务并不会销毁,必须调用cancel()来终止
  32.                 t.schedule(new MyTask(t),3000,1000);
  33.         }
  34. }

  35. class MyTask extends TimerTask{
  36.         private Timer t = null;  //接收定时器,提供结束计划任务的入口
  37.         private int count = 0;
  38.         public MyTask(){};
  39.         public MyTask(Timer t){
  40.                 this.t = t;
  41.         }
  42.         public void run(){
  43.                 count++;
  44.                 System.out.println("我就是计划要执行的任务啦啦啦~~~~:"+count);
  45.                 System.out.println(new Date(System.currentTimeMillis()));
  46.                 if(count >= 5){
  47.                         t.cancel();//取消计划任务
  48.                         System.out.println("计划任务完成!!");
  49.                 }
  50.         }
  51. }
复制代码


1 个回复

正序浏览
运行
  1. Fri Sep 11 16:11:25 CST 2015
  2. 我就是计划要执行的任务啦啦啦~~~~:1
  3. Fri Sep 11 16:11:29 CST 2015
  4. 我就是计划要执行的任务啦啦啦~~~~:2
  5. Fri Sep 11 16:11:30 CST 2015
  6. 我就是计划要执行的任务啦啦啦~~~~:3
  7. Fri Sep 11 16:11:31 CST 2015
  8. 我就是计划要执行的任务啦啦啦~~~~:4
  9. Fri Sep 11 16:11:32 CST 2015
  10. 我就是计划要执行的任务啦啦啦~~~~:5
  11. Fri Sep 11 16:11:33 CST 2015
  12. 计划任务完成!!
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马