黑马程序员技术交流社区
标题:
执行计划任务演示
[打印本页]
作者:
fmi110
时间:
2015-9-11 16:12
标题:
执行计划任务演示
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("计划任务完成!!");
}
}
}
复制代码
作者:
fmi110
时间:
2015-9-11 16:14
运行
Fri Sep 11 16:11:25 CST 2015
我就是计划要执行的任务啦啦啦~~~~:1
Fri Sep 11 16:11:29 CST 2015
我就是计划要执行的任务啦啦啦~~~~:2
Fri Sep 11 16:11:30 CST 2015
我就是计划要执行的任务啦啦啦~~~~:3
Fri Sep 11 16:11:31 CST 2015
我就是计划要执行的任务啦啦啦~~~~:4
Fri Sep 11 16:11:32 CST 2015
我就是计划要执行的任务啦啦啦~~~~:5
Fri Sep 11 16:11:33 CST 2015
计划任务完成!!
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2