5
我正在设计一个将时间序列数据写入文件的系统。数据是8字节的块,分为两个4字节部分,时间和有效载荷。是否为WriteFile原子?
根据MSDN,WriteFile函数是原子的(http://msdn.microsoft.com/en-us/library/aa365747(VS.85).aspx),如果写入的数据小于扇区的大小。
由于文件将只包含这些块(没有文件的“结构”,因此无法重建损坏的文件),并且一个接一个地添加,这对于整个块或者没有写入是至关重要的在任何时候都可以访问该文件。
所以问题是,我是否正确地理解了一个小于一个扇区大小的写文件总是写到磁盘上或根本不写入,无论在实际调用writefile期间发生了什么?
只要机器处于健全状态,它是否为原子? (即如果进程可能会崩溃,但内核保持良好状态,那么它是否是原子?) – Mehrdad 2014-01-14 11:31:30