public static void main(String[] args) {
Timer ttt = new Timer();
TimerTask test = new TimerTask() {
@Override
public void run() {
System.out.println("IN");
}
};
ttt.schedule(test, 1000);
}
本来应该每秒打印“ IN”,但是只打印一次。有小费吗?谢谢
什么
最佳答案
您正在使用schedule
的一次性版本。只需使用接受间隔时间的overloaded version:
ttt.schedule(test, 0, 1000);
另外:较新的ExecutorService优于
java.util.Timer
。计时器只有一个执行线程,因此长时间运行的任务可能会延迟其他任务。 ExecutorService
可以使用线程池进行操作。讨论更多here