use*_*731 4 java linux performance
我有一个将文件写入磁盘的Java应用程序.问题是,Linux不像Windows那样锁定文件,因此有人可以在写入文件时删除该文件.当发生这种情况时,我的Java应用程序会像文件仍然存在一样继续...甚至允许更多写入,没有例外.
我添加了一个检查:file.exists(),但这会使我的性能下降近50%.任何人都有任何聪明的想法,我如何解决这个问题,并保持我的表现高?
听到这被认为是一个"问题",这很有趣 - 我们这些在UNIX上煞费苦心的人认为Windows的文件锁定方法是粗暴而痛苦的.
如果您无法使用文件的权限(大部分)防止这种情况,我认为File.exists()是唯一的解决方案在这里,但想必你可能不经常调用它,如果它导致性能问题 - 也许从"收割者"偶尔醒来的线程来检查这种情况.
| 归档时间: |
|
| 查看次数: |
1617 次 |
| 最近记录: |