我有一个方法,它通过swingutilities线程机制调用另一个打开已保存pdf文件的方法。当它从给定的客户端路径打开pdf文件时,其余方法处理从文件夹中清除所有pdf文件。
我的问题是,如果我多次调用此方法来同时打开几个pdf文件,那么在内存管理方面清理包含所有pdf文件的路径的最佳方法是什么。
我的代码段如下:
public void fileSaveFinished(String filePath){
openPDFReport(filePath); //display pdf to screen
cleanFolderContent(folderPath, filePath); // It cleans folder contents except given filePath}
public void opendPDFReport(String filePath){
SwingUtilities.invokeLater(new Runnable(){
PDFFileLauncher.open(filePath);
}
}
答案 0 :(得分:1)
此处您的问题与共享资源有关。您将阅读PDF并删除相同的内容。因此,您必须使用方法池并使用wait和notify方法来管理工作。等到文件读取操作未完成,并通知相同以删除文件。有关等待和通知的更多详细信息,请参阅一些好的教程。他们肯定会解决你的问题。