您的位置:首页 > 编程语言 > Java开发

java 定时器学习

2012-07-03 11:26 148 查看
java自带的Timer,TimerTask类来实现定时器.

1、概述 (java api)

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

TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

2、例子

主要步骤:

1)自定义定时器任务,继承TimerTask。

2)Timer调用定时器任务。

package com.bing.timetask;

import java.io.IOException;
import java.util.TimerTask;

public class MyTimeTask extends TimerTask{

@Override
publicvoid run() {//需要重写run方法。
Runtime rt= Runtime.getRuntime();
String command="cmd.exe /c start http://localhost:8080/code/qiandao.jsp"; try {
rt.exec(command);
} catch (IOException e) {
e.printStackTrace();
}
}

}


package com.bing.timetask;import java.io.IOException;import java.util.Timer;public class TimerTest {public staticvoid main(String[] args) throws IOException { Timer timer=new Timer(); timer.schedule(new MyTimeTask(),1000,1000*60*60*24);//延迟一秒后隔一天重复调用MyTimeTask
中run方法。 while(true){ int i=System.in.read(); if((char)i=='q'){ timer.cancel(); break; } }}}





补充知识:

Timer 方法:

void
schedule(TimerTask task,Date time)


安排在指定的时间执行指定的任务。
void
schedule(TimerTask task,Date firstTime,
long period)


安排指定的任务在指定的时间开始进行重复的固定延迟执行。
void
schedule(TimerTask task, long delay)


安排在指定延迟后执行指定的任务。
void
schedule(TimerTask task, long delay, long period)


安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
void
scheduleAtFixedRate(TimerTask task,Date firstTime,
long period)


安排指定的任务在指定的时间开始进行重复的固定速率执行。
void
scheduleAtFixedRate(TimerTask task, long delay, long period)


安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: