0

我们正在创建一个将文件写入磁盘的 Web 服务。有时这些文件会在写入的同时被读取。

如果我们这样做——从同一个文件中写入和读取——我们有时会得到长度相同的文件,但其中的一些数据并不相同。因此,对于 350mb 的文件,我们可能会得到 20-40 个不同的字节。

如果我们同时写入和读取 3-4 个文件,则通常会出现此问题。这个问题可能是因为不能保证在“写入”到磁盘之后,数据实际上是被写入的,即磁盘是异步的。

此外,我们正在测试的计算机只是标准的 macbook pro,因此没有任何类型的精美磁盘。

错误可能在其他地方,但我们只是想问这个问题,看看是否有人对这个写作+阅读的事情有所了解。

4

1 回答 1

0

所有现代操作系统都支持并发读取和写入文件(显然,给定一个写入器)。所以这不是操作系统级别的错误。但确保您没有多个线程/进程试图将数据附加到文件中。

检查您的应用程序代码。检查您正在使用的缓冲区。确保您的应用程序是同步的,并且读取器和写入器之间没有竞争条件。

于 2010-08-30T15:06:21.157 回答