我有一个石英调度程序作业,每10秒扫描一个目录并将所有pcl文件转换为pdf文件。优化此java代码?
这里我放置了一部分扫描目录并加载所有文件的代码,并为它调用了一些方法来转换它。
FileExtensionFilter extFilter = new FileExtensionFilter();
extFilter.setAllowAll(false);
extFilter.addExtension(_fExtension);
// Filter out all files that match.
File[] filteredFileList = fInbox.listFiles(extFilter);
for (File fSrc : filteredFileList) {
try {
//call the methods to convert fSrc file
}catch (Exception e){
//threat exception's code
}
所有的作品很好,如果我有30 pcl文件,但如果我有50例如,处理一步一步慢。
问题是:有什么办法可以改善这个循环吗?基本上不是“等待”文件被处理,而是走得更远,并采取另一个和那么一个?
我在想多线程但我不知道这是否会在此文件系统扫描转换任务工作... 您能否提供些什么呢?
谢谢。
ps:请注意,如果我扔了30个文件,之后又有30个文件很好。当我一次抛出更多文件时,性能会受到影响...
呃..这是一个不错的方法! – 2011-04-18 19:42:17
你也可以跟踪你的时间。在循环中,9500毫秒后停止,并让下一个“运行”处理它。 – corsiKa 2011-04-18 19:43:15
+1。另外文件系统转换任务通常不会受到多线程的限制。这是因为瓶颈不是CPU,而是IO。 – 2011-04-18 19:43:21