【发布时间】:2015-03-22 07:21:49
【问题描述】:
我在“共享模式”下读写文件时遇到问题。我的应用程序需要能够以共享模式访问文件或打开文件,这样如果一个线程正在写入文件,另一个线程应该能够从中读取。我见过java.nio.channels.FileLock,但是它有一个问题,我引用了
那么在“共享模式”下访问文件还有什么解决方案呢?允许多次读取访问并允许在写入时读取,反之亦然。例如,如果我可以在打开文件时指定模式,那就太好了..
希望一切都清楚..
附注我使用的是 jdk 1.6,所以不支持 java.nio.Files。
【问题讨论】:
-
这只是意味着您必须确保在应用程序代码中您的线程不会踩到彼此的脚。
-
为什么需要“共享模式”?如果只有一个进程同时访问文件,独占模式似乎更安全。否则,您不仅要协调自己的线程(使用 JVM 线程同步相对容易),还要跨进程/JVM。
标签: java multithreading java-io