问答 / 0 / 2 / 创建于 4年前
这样子的写法是可以的,但对你想要实现的目标太复杂了。每次开一个新的线程没有必要,可以直接用循环实现就可以了。要是特别需要开新线程的话开一个就够了,在那里循环。比如:
public void recursion(File f) { File[] files = f.listFiles(); if (files != null && f.length > 0) { for (File file : files) { if (file.isDirectory()) recursion(file); else System.out.println(file); } } }
这是实现你目的的方法。要是得开很多线程的话,newSecurityThreadPool 应该是type ExecutorService,用Executor.newSingleThreadExecutor()初始化。
我尝试着写了一下,楼主可以到这里看一下, 博客:多线程扫描文件夹耗时方法分析
我要举报该,理由是:
这样子的写法是可以的,但对你想要实现的目标太复杂了。每次开一个新的线程没有必要,可以直接用循环实现就可以了。要是特别需要开新线程的话开一个就够了,在那里循环。比如:
public void recursion(File f) { File[] files = f.listFiles(); if (files != null && f.length > 0) { for (File file : files) { if (file.isDirectory()) recursion(file); else System.out.println(file); } } }
这是实现你目的的方法。要是得开很多线程的话,newSecurityThreadPool 应该是type ExecutorService,用Executor.newSingleThreadExecutor()初始化。
我尝试着写了一下,楼主可以到这里看一下, 博客:多线程扫描文件夹耗时方法分析