Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何将 Windows 中的文件锁定为只有当前线程(没有来自同一进程的其他线程,也没有其他进程)可以访问(读/写)该文件?
如果可能,请告诉我一些类似 fcntl 的解决方案(锁定具有其描述符的文件的解决方案)。但无论如何,也欢迎其他解决方案。
在 Windows 中,您可以使用 API 功能以独占访问权限打开文件CreateFile并指定0为共享模式。此 MSDN 链接和此 MSDN 链接上的更多详细信息。
CreateFile
0
使用 WinAPI 调用LockFile,下面是它的使用示例。但是,这只会保护您免受其他进程接触您的文件,它仍然允许同一进程中的其他线程使用该文件。
编辑:我没有看到这是 C++ 抱歉,我只知道线程间 c# 解决方案,但是 MSDN 链接至少可以让你开始防止其他进程接触你的文件。