gpt4 book ai didi

c++ - 有没有办法限制访问文件的用户数量

转载 作者:行者123 更新时间:2023-11-28 01:14:56 25 4
gpt4 key购买 nike

我在一个巨大的依赖环境中编码,其中有多个进程在运行。在这个生态系统中,几乎所有运行的进程都需要修改一个文件。

这里每个进程对于相同的文件路径都有不同的文件描述符。

有什么方法可以限制文件打开,以便只能打开该文件的一个实例,而所有其他实例都排队?

我试过 mutex 和 flock,但它们并没有真正达到目的。

请告诉我您认为可能有帮助的任何方式!

最佳答案

1.如果所有进程都在同一台服务器上,你可以试试os api,ex:

Linux: https://gavv.github.io/articles/file-locks/

window : https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-lockfileex

2.如果所有进程不在同一台服务器上,则需要其他方法来执行此操作,例如:

zookeeper、redis 或临时锁定文件。

3.如果你能改变你的生态系统架构,你最好重新设计它。

一个“文件服务”访问所有文件,而其他服务只调用“文件服务”。

关于c++ - 有没有办法限制访问文件的用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58992198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com