该代码只要处理某些文件,只要它们存在于预设文件夹中即可。但是,在Eclipse上运行时,如果文件夹中没有文件,线程将被终止,但通常会在稍后添加文件。为了保持它始终运行,我在run函数中添加了一个无限循环。这有效,但有没有其他的方式来实现这一点,以便它使用较小的内存? 下面的代码: -如何防止暂时不满足条件时线程被终止?
import java.io.*;
public class AddService extends Thread{
public void run(){
while(true){
Handler obj=new Handler();
File[] listOfFiles=obj.getFileList();
if(listOfFiles.length>0)
{
obj.process(listOfFiles);
}
else{
try{
AddService.sleep(1000);
}
catch(Exception ex){
}
}
}
}
public static void main(String args[]){
AddService t1=new AddService();
t1.start();
}
}
你可能可以有一个处理程序,并将while移动到'while(obj.getFileList()。length> 0)'。或者使用计时器。 – 2015-03-03 11:19:11