第一个参数,是 TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现 public void run() 方法,因为 TimerTask 类 实现了 Runnable 接口。 第二个参数的意思是,当你调用该方法后,该方法必然会调用 TimerTask 类 TimerTask 类 中的 run() 方法,这个参数就是这两者之间的差值,转换成汉语的意思就是说,用户调用 schedule() 方法后,要等待这么长的时间才可以第一次执行 run() 方法。 第三个参数的意思就是,第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。
Timer和TimerTask一般搭配使用。
贴一段简单的代码
import java.util.*;
public class TimerTest extends TimerTask{
String index;
Timer myTimer=new Timer();
public TimerTest(String index) {
// TODO Auto-generated constructor stub
this.index=index;
}
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(index);
}
public void start(int delay,int internal) {
//在delay*1000时间后开始执行TimerTest对象,执行后每隔internal*1000反复执行
myTimer.schedule(this, delay*1000, internal*1000);
}
public void end() {
myTimer.cancel(); //调用cancle()方法结束
}
public static void main(String args[]) {
//创建和设置myTask对象
TimerTest myTest=new TimerTest("线程1执行");
myTest.start(0, 3);
//创建和设置myTask2对象
TimerTest myTest2=new TimerTest("线程2执行");
myTest2.start(0, 1);
try {
Thread.sleep(6000);
} catch (Exception e) {
// TODO: handle exception
}
myTest.end();
myTest2.end();
}
}