java定时器的使用技巧

 

定时器类Timerjava.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask

task, long delay)方法,设定指定的任务task在指定的延迟delay后执行。定时器任务类

TimerTask是抽象类,继承并重写其run()方法,可实现具体任务。

schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行。

cancel()方法结束这个定时器。

schedule(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟

delay后进行固定延迟peroid的执行。

scheduleAtFixedRate(TimerTask task, long delay, long period)方法设定指定任务task

在指定延迟delay后进行固定频率peroid的执行。

要实现一个定时任务,运用java中的TimerTimerTask类可以非常容易实现实时调用处

理函数。这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需要。

看个简单的例子:

import java.io.IOException;

import java.util.Timer;

public class TimerTest {

public static void main(String[] args){

Timer timer = new Timer();

timer.schedule(new MyTask(), 1000, 2000);//1秒后执行此任务,每次间隔2,如果

传递一个Data参数,就可以在某个固定的时间执行这个任务.

while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了

try {

int ch = System.in.read();

if(ch-'c'==0){

timer.cancel();//使用这个方法退出任务

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

static class MyTask extends java.util.TimerTask{

@Override

public void run() {

// TODO Auto-generated method stub

System.out.println("________");

}

}

}

好多朋友用过Windows的任务计划,也有不少程序迷自己曾写过时钟报警、系统自动关机等趣味程序,可却很少有朋友在Web工程中实现过类似功能。今天有空把笔者先前曾在Tomcat上实现的类似功能,搬出来与大家共享。http://wenku.it168.com/d_000680701.shtml

你可能感兴趣的:(java,定时器,技巧)