【发布时间】:2018-11-15 13:11:35
【问题描述】:
我需要定期执行一个线程。我在我的 java 程序中使用 timerTask 方法
public class StudentDTO extends TimerTask{
@Override
public void run(){
System.out.println("hi");
}
public static void main(String[] args){
StudentDTO t1=new StudentDTO();
Timer timer = new Timer(true);
timer.scheduleAtFixedRate(t1, 0, 10000);
System.out.println("start");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
当我执行这段代码时,我得到了类似的答案
开始 你好 嗨
程序将被终止。 我必须每 10 秒运行一个线程。请给我一个解决方案
【问题讨论】:
-
Timer timer = new Timer(true);- 为什么是真的? -
我从谷歌得到了那个代码
-
阅读我的答案以了解为什么您应该尝试理解您找到的代码 :-)
-
可以用这个TimerTask定时调用普通方法吗?
-
不是任意的
method您可以使用它在特定时间调用任务。我实际上建议您查看quartz-scheduler.org