我正在Windows上用C语言编写一个(非常小的)网络服务器。
我需要在读取和写入文件时使用独占锁文件,我已阅读有关锁定等的msdn文档,并且我发现函数LockFileEx
具有OVERLAPPED
结构和{{{ 1}},我也读到了它们是如何工作的,但问题是:
- 在Web服务器中,我们有很多文件,当一个线程锁定例如文件" test.txt"(独占锁)因为有这个文件的请求,我怎么能同步另一个线程呢想要锁定同一个文件?
答案 0 :(得分:0)
看一下互斥对象的使用。他们应该为你解决这个问题。
需要访问锁定文件的线程可以请求锁定并排队。当前线程完成后,它会释放其锁定,并且下一个请求线程被授予锁定。