我有一個石英調度程序作業,每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