如果非要文件,就使用ab两个文件。交叉读写,用一个原子整数负责指示。
反正我以前用大型数据结构就是这样操作的,性能好,也没有脏数据。
话说文件性能很差,加锁的性能损失和文件io比较起来可以忽略了吧
【 在 eematlab 的大作中提到: 】
: 我定义了一个struct, 24byte, 每次调用fwrite(&buf, 24, 1, fw)来写24byte到文件中(binary mode)
:
: 在读进程中,我用fread(&buf, 24, 1, fr)来读,但我发现在某些时候,会读失败,可能读到少于24个bytes, 然后我也没办法把读到的数据退回到字符流中,所以后面再读时,整个序列全乱了,
: ...................
--来自微水木3.5.2
--
FROM 223.167.168.*