我正在开发一个多定时器任务项目。
首先,我设计了一些扩展 TimerTask 的类并重写了 run() 方法。在 run() 方法中,将打印一行当前时间。
其次,一个 Timer 是这样初始化的。
......
DataTask task1 = new DataTask();
myTaskList.add(task1);
DataTask task2 = new DataTask();
myTaskList.add(task2);
DataTask task3 = new DataTask();
myTaskList.add(task3);
DataTask task4 = new DataTask();
myTaskList.add(task4);
for(TimerTask task : myTaskList)
{
Timer timer = new Timer();
timer.schedule(task,1,60*1000);
}
......
public class DataTask extends TimerTask
{
@override
public void run()
{
System.out.println("print sth");
}
}
一个线程中的一项任务。那正确吗?
然而,有时任务工作,有时任务不会打印任何东西,没有任何异常,而线程仍然活着。
这可能是什么原因?