我需要用java运行一个无限次运行的Timer,我需要让计时器每2秒运行一次,我该怎么做?
答案 0 :(得分:6)
您可以使用ScheduledExecutorService
ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor();
ses.scheduleAtFixedRate(new Runnable() {
public void run() {
// do something.
}
}, 0, 2, TimeUnit.SECONDS);
答案 1 :(得分:2)
long delay = 1000;
long period = 2000;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
// Task here ...
}
}, delay, period);
答案 2 :(得分:1)
public class Timer implements Runnable {
public static void main(String args[]) {
Timer t = new Timer();
t.run();
}
public void run() {
while (true) {
//do something cool
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
//handle interrupt
}
}
}
}
那样的东西?
答案 3 :(得分:0)
之前我曾使用过quartz来获得类似功能,但它对我来说效果很好。