是存在的,在Windows上,任何簡單的方法來鎖定一個獨特的方式文件(閱讀和寫作爲我的軟件)在多線程C代碼?我試過了LockFileEx,但它只能在進程之間而不是在線程之間(同一進程)。ç窗口多線程文件鎖定
注意:我的問題是我創建了一個小文件服務器(多線程),當文件發出請求時,一個「A」必須獨佔訪問請求的「file1.txt」,但如果另一個線程「B」想要相同的「file1.txt」,它必須等待之前使用此文件。如果線程「A」使用的CreateFile()與dwSharedMode爲「0」打開/創建「FILE1.TXT」,確保只有它讀取或打開這個文件,如果線程「B」試圖打開「文件1發生錯誤逸岸。文本」。現在線程「B」如何等待「file1.txt」?
我認爲,你應該知道你的線程在做什麼,並實現自己鎖定(帶有[互斥(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682411(V = vs.85).aspx),例如)。 – 2013-03-25 02:55:56
看看Aniket的答案。文件鎖定比互斥鎖或線程鎖定更加棘手。它也適用於集羣服務器或共享驅動器。例如,在兩臺不同的計算機上運行的小型服務器正在使用相同的目錄和文件。 – TamusJRoyce 2014-04-23 18:32:28