3

如何将 Windows 中的文件锁定为只有当前线程(没有来自同一进程的其他线程,也没有其他进程)可以访问(读/写)该文件?

如果可能,请告诉我一些类似 fcntl 的解决方案(锁定具有其描述符的文件的解决方案)。但无论如何,也欢迎其他解决方案。

4

2 回答 2

5

在 Windows 中,您可以使用 API 功能以独占访问权限打开文件CreateFile并指定0为共享模式。此 MSDN 链接此 MSDN 链接上的更多详细信息。

于 2011-07-26T16:03:34.637 回答
1

使用 WinAPI 调用LockFile下面是它的使用示例。但是,这只会保护您免受其他进程接触您的文件,它仍然允许同一进程中的其他线程使用该文件。

编辑:我没有看到这是 C++ 抱歉,我只知道线程间 c# 解决方案,但是 MSDN 链接至少可以让你开始防止其他进程接触你的文件。

于 2011-07-26T15:56:47.610 回答