【发布时间】:2011-06-16 20:28:30
【问题描述】:
在 Java 1.5 中,java.nio.channels.FileLock 不会检查已锁定的文件。 Referenced Here
sn-p 状态:
java.nio.channels.FileLock 类检查已被锁定的文件 其他 FileChannel 实例
Java SE 6 抛出一个 如果出现 OverlappingFileLockException 应用程序尝试锁定一个区域 与锁定的区域重叠 另一个 FileChannel 实例。以前的 版本没有检查文件锁 由其他 FileChannel 获取 实例。默认情况下 java.nio.channels.FileChannel.lock 方法检查请求的锁是否 与此持有的区域重叠 Java 虚拟机。
因此,在 Java 6 之前的版本中,如果您有多个程序写入同一个文件(每个程序都试图获得一个排他锁),则排他文件锁定不起作用。人们是如何使用 Java 5 及更早版本解决这个问题的?
【问题讨论】:
标签: java jdk1.6 file-locking jdk1.5