0

假设我有一个(库存)android 4.x 平板电脑通过 USB 连接到微控制器板。该板能够将 SD 卡作为 USB 大容量存储器访问,并读取/写入卡上的文件。现在平板电脑上应该有一个应用程序,它可以像板一样读取/写入相同的文件。因此,板和应用程序可以同时读取/写入文件访问。

为了避免不一致的数据等。当应用程序读取/写入文件时,我会使用独占FileLock 。现在我的问题是,如果 FileLock“足够低级”也可以在这种情况下工作并防止数据不一致?

谢谢

4

2 回答 2

0

在FileLock的文档中找到了这个:

锁旨在成为真正的平台操作系统文件锁,因此 VM 持有的锁将对其他操作系统进程可见。

我猜想通过 USB 访问 SDCard 是由某些操作系统的进程控制的,因此微控制器也应该可以看到锁。

于 2014-03-15T18:02:56.037 回答
0

虽然使用FileLock确保两个应用程序不能同时写入文件,但应用程序逻辑可能会破坏该方案。您仍然必须正确编码。特别是,如果一个应用程序读取文件,进行更改,然后“等待”获取文件锁定以写入文件 - 那么它可能会将“旧”信息写回文件。

于 2014-03-15T16:09:20.183 回答