缓冲的写入导致数据不一致

时间:2019-07-07 06:58:10

标签: c++ file buffer

我正在设计一个支持缓冲的读写功能的C ++文件类。

但是,我遇到了一个问题。在将写入缓冲区中的数据写入磁盘之前,如果我尝试从磁盘上的文件读取数据,则读取的数据将是错误的。如何解决问题?

我有两种解决方案,但似乎都不好:

  1. 始终在任何读取操作之前刷新写入缓冲区。但这会降低性能。

  2. 尝试读取数据时,请检查要读取的数据是在写缓冲区中还是在磁盘文件中,还是部分在写缓冲区中又部分在磁盘文件中。然后根据检查结果,从写缓冲区或磁盘文件中获取数据。这种解决方案相当复杂。

谢谢

0 个答案:

没有答案