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