gpt4 book ai didi

java - 当暂时不满足条件时,如何防止线程终止?

转载 作者:行者123 更新时间:2023-11-30 06:15:26 25 4
gpt4 key购买 nike

这段代码只是处理一些文件,只要它们存在于预设文件夹中。但是在 Eclipse 上运行时,当文件夹中没有文件时线程会终止,尽管文件通常是稍后添加的。为了让它始终运行,我在运行函数中添加了一个无限循环。这行得通,但是有没有其他方法可以实现这一点,以便它使用更少的内存?这是代码:-

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();
}
}

最佳答案

你可以通过 ScheduledExecutorService 做同样的事情

ScheduledExecutorService s = Executors.newScheduledThreadPool(1);
s.schedule(myrunnable, 1000, TimeUnit.SECONDS);

检查文件是否存在。或者,如果您被允许使用第三方库,您可以使用 FileAlterationObserver 观察目录中的变化。

关于java - 当暂时不满足条件时,如何防止线程终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28830445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com