我有一个程序来读取一些RSS提要,解析它们,并将链接复制到其他地方。好!我想每隔10分钟检查一次RSS源以获取可能的更新。我写了这段代码:Thread.sleep()不能连续工作
@Override
public void run() {
while (true) {
// check feeds here
try {
Thread.sleep(600000);
} catch (InterruptedException ex) {
// exception handing
}
}
}
当我运行它,一两天,它是好的,并运行。但通常在3或4天后,它会进入睡眠状态,永不再醒来!所以它不会更新RSS提要。
我该如何解决这个问题!?
如果线程卡在Thread.sleep中,您可以使用JCONSOLE进行检查。 – 2012-08-13 08:02:35
请考虑使用其中一个[scheduler API](http://docs.oracle.com/javase/tutorial/essential/concurrency/exinter.html)。 – McDowell 2012-08-13 08:07:17