我有一个应用程序,它有几个线程来操作数据并将输出保存在 Linux 或 Windows 计算机中特定目录上的不同临时文件中。这些文件最终需要被删除。
我想做的是能够更好地分离文件,所以我正在考虑通过进程ID和线程ID来做到这一点。这将有助于应用程序节省磁盘空间,因为在线程终止时,可以删除包含该线程文件的整个目录,并让应用程序的其余部分重用相应的磁盘空间。
由于应用程序在 JVM 的单个实例上运行,我假设它将有一个进程 ID,这将是 JVM 的进程 ID,对吗?
既然如此,区分这些文件的唯一方法就是将它们保存在一个文件夹中,该文件夹的名称将与线程 ID 相关。
这种方法合理吗?还是我应该做其他事情?
最佳答案
java.io.File可以create为您提供临时文件。只要保留与每个线程关联的文件的列表,就可以在线程退出时删除它们。您还可以将文件标记为 delete on exit以防线程未完成。
关于java - 使用进程 ID 和线程 ID 命名目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536129/