【发布时间】:2011-04-05 19:43:24
【问题描述】:
我们正在创建一个将文件写入磁盘的 Web 服务。有时这些文件会在写入的同时被读取。
如果我们这样做——从同一个文件写入和读取——我们有时会得到长度相同的文件,但其中的一些数据并不相同。因此,对于 350mb 的文件,我们可能会得到 20-40 个不同的字节。
如果我们同时写入和读取 3-4 个文件,则通常会出现此问题。这个问题可能是因为无法保证在“写入”到磁盘之后,数据实际上是被写入的,即磁盘是异步的。
此外,我们正在测试的计算机只是标准的 macbook pro,所以没有任何类型的花哨的磁盘。
错误可能在其他地方,但我们只是想问这个问题,看看是否有人知道关于这个写作+阅读的事情。
【问题讨论】:
标签: asynchronous concurrency hard-drive writing