我们正在创建一个web服务,其中我们将文件写入磁盘。有时,这些文件将在写入的同时被读取。
如果我们这样做-从同一个文件中写入和读取-我们有时会得到长度相同的文件,但其中的一些数据并不相同。因此,对于一个350mb的文件,我们可能会得到20-40个不同的字节。
如果我们有3-4个同时写入和读取的文件,则通常会出现此问题。这个问题会不会是因为不能保证在对磁盘进行“写入”之后,数据实际上是写入的,即磁盘是异步的。
此外,我们正在测试的电脑只是一台标准的macbook pro,所以没有任何花哨的磁盘。
bug可能在其他地方,但我们只是想问这个问题,看看是否有人知道关于writing+reading的事情。
发布于 2010-08-30 23:06:21
所有现代操作系统都支持对文件的并发读写(显然,只有一个写入器)。所以这不是操作系统级别的错误。但是 do 要确保没有多个线程/进程试图将数据追加到文件中。
检查您的应用程序代码。检查您正在使用的缓冲区。确保您的应用程序是同步的,并且读取器和写入器之间没有竞争条件。
https://stackoverflow.com/questions/3601607
复制相似问题