我有以下代码:
public void run()
{
try
{
logger.info("Looking for new tasks to fetch... ");
// definitions ..
for(Task t: tasks)
{
logger.info(" Task " + t.getId() + " is being fetched ");
// processing ... fetching task info from db using some methods
}
Thread.sleep(FREQUENCY);
//t.start();
} catch (Exception e)
{
logger.info("FetcherThread interrupted: "+e.getMessage());
}
}
我正在尝试使线程在特定时间“FREQUENCY”休眠,然后再次工作。当我在eclipse中执行这段代码时,线程只工作一次,然后什么也没有发生,进程终止。如果我从语句中删除注释:t.start()
,我会得到“FetcherThread 中断:null”。谁能告诉我哪里出错了?
注意:我希望线程一直在工作,但会在一段时间内获取(比如每 5 分钟一次)