日期:2014-05-17  浏览次数:20691 次

关于Timer类设定程序运行时间问题,各路好汉,我又来了!!
现在要让一段程序在半小时内执行一次,我现在打算用 Timer类去实现,但是因为要执行的程序必须要带两个参数,但是我搞了好久也没找到
Java code
Timer timer=new Timer(); 
           [color=#FF0000]timer.schedule[/color](new TimeTask(),1800000, 1800000);
方法可以带参数的办法!

  望各位码农给条明路!

------解决方案--------------------
自己继承个Task,构造的时候(new)就把参数传进去保存好,安静等Timer启动你就好了。
------解决方案--------------------
可以看看:
Java code

ScheduledExecutorService scheduler=Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(new LimitSmorcGatherService(), 1, 2, TimeUnit.SECONDS);
LimitSmorcGatherService实现Runnable接口就好了

------解决方案--------------------
import java.util.Timer;
import java.util.TimerTask;

class MyTimerTask extends TimerTask {
public void run() {
System.out.println("Timer task executed.");
}
}

public class MainClass {
public static void main(String args[]) {
MyTimerTask myTask = new MyTimerTask();
Timer myTimer = new Timer();

/*
* Set an initial delay of 1 second, then repeat every half second.
*/
myTimer.schedule(myTask, 1000, 500);

try {
Thread.sleep(5000);
} catch (InterruptedException exc) {
}

myTimer.cancel();
}
}