Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要锁定一个从三个不同的 android 应用程序读取和写入的文本文件......所以不同的进程。
我尝试在写入时使用通道 lock() (独占模式),在读取文件时尝试使用 lock(0L, Long.MAX_VALUE, true) (共享)。
不幸的是,这种方法不起作用......在读取时总是获取锁,当写入锁尚未释放时也是如此。
是否有合适且可行的示例来解决此问题?难道我做错了什么?
终于我解决了!FileLocks 没问题...我的问题是我正在使用 storeToXml 写入一个 xml 文件,该文件可能会创建一个全新的文件...因此创建了新的文件描述符并且锁定属性可能丢失了。现在我锁定了另一个虚拟文件,而不是我正在读写的文件,一切都按预期工作。