我有一个需要并行处理多个文件的要求,我已经完成了以下操作,它工作正常,但我怎样才能使它更优化,期待任何建议。
long start = System.currentTimeMillis();
File [] files=new File("C:\\ftp").listFiles();
//System.out.println(files.length);
ExecutorService executor=Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
// System.out.println("available processors.."+Runtime.getRuntime().availableProcessors());
if(files.length>=1)
{
for(int i = 0;i<files.length; i++){
System.out.println("reading..."+i);
Runnable workerThread = new FileWorkerThread(files[i]);
executor.execute(workerThread);
}
executor.shutdown();
while (!executor.isTerminated()) {
}
//然后我有一个运行(),它基本上是读/写文件。这是一个好方法吗,有什么我可以做的让它变得更好。