我想要一个任务在1分钟的间隔后永远运行.为了实现这一点,我写了我的任务
public void poll() {
ScheduledExecutorService executorService= Executors.newScheduledThreadPool(1);
ScheduledFuture files=executorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
String path="/Desktop/PNL/Test";
List
但是任务只执行一次而不是每分钟后执行.
我不明白这里有什么不对.
最佳答案
在执行代码时,导致了(File file:listOfFiles){导致线程死亡的NullPointerException.
以下更改使其连续运行:
if (listOfFiles != null) {
for (File file : listOfFiles) {
filesPaths.add(file.getAbsolutePath());
}
}
而且,files.cancel(false)结束执行.因此,不得不评论这一行.参考Future.cancel()