在 Windows 上,是否有任何简单的方法可以在多线程 C 代码中以独占方式(为我的软件读取和写入)锁定文件?我已经尝试过 LockFileEx,但它仅适用于进程之间,而不适用于线程(同一进程)。
注意:我的问题是我做了一个小文件服务器(多线程),当一个文件请求到来时,三分之一的“A”必须以独占方式访问请求的“file1.txt”,但如果另一个线程“ B”想要相同的“file1.txt”,它必须等待才能使用此文件。如果线程“A”使用 dwSharedMode 为“0”的 CreateFile() 来打开/创建“file1.txt”,确保只有它读取或打开此文件,如果线程“B”尝试打开“file1”,则会发生错误。文本”。现在线程“B”如何等待“file1.txt”?