0

我正在编写一个 Windows Store 应用程序,它从服务器检索一些信息并在本地显示它。为了增加应用程序的“响应能力”,我决定将查询结果存储在本地应用程序数据存储中。在提交请求之前,它将检查本地存储以获取已保存的响应并首先显示该响应。我考虑了 2 个选项 SQLite 和普通文件 I/O,我选择了后者。在我实现它时,我发现可能存在同时读取和写入同一个文件的情况。我正在使用 FileIO 类,更具体地说是 WriteTextAsync 和 ReadTextAsync 方法。FileIO 是否可以帮助我们处理对同一个文件的并发读写,例如在执行读取时阻止读取?

顺便说一句,如果我使用 SQLite 而不是 FileIO 会更快吗?SQLite 能很好地处理这种情况吗?

非常感谢你!

4

1 回答 1

0

通常,由于硬盘驱动器的旋转性质,除非您有 RAID,否则将并发与文件 IO 一起使用会降低生产力。所以并发读/写肯定会降低性能。但是,最好通过异步调用文件 IO api 将文件 IO 调用与 UI 线程分开。

请注意UI组件不是线程安全的,所以需要同步文件IO线程的返回。

于 2013-05-27T00:47:52.097 回答