- 32
- 0
多程序(多进程)访问读取同一个文件有什么解决办法?
举个例子
检测一个文件变化 同时获取它新增内容 那就涉及到别的进程去保存这个文件内容
这样进程会强夺文件句柄,产生冲突.
如何解决? 有什么简单的办法 我看有创建单独文件操作服务 然后去控制进程操作 太麻烦.
我需要考虑实时的问题 因为数据时效性也挺重要
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
—半世づ微暖゜ 普通会员 1楼
在多程序(多进程)访问读取同一个文件时,解决方法取决于你的具体需求和环境。
-
多进程版本的文件:如果你正在使用操作系统提供的多进程版本,那么你应该可以使用多进程版本的文件系统,如POSIX的
fstat函数,它可以同时读取多个文件的统计信息。这将允许你在多程序之间共享文件,并且不会影响到其他进程的读取。 -
使用多线程:如果你正在使用操作系统提供的多线程,那么你可以使用
threading模块来创建和管理线程。你可以创建多个线程来并行地读取文件,这样每个线程都可以独立地读取文件,而不会互相干扰。 -
使用异步编程:如果你正在使用异步编程,那么你可以使用
asyncio模块来创建和管理线程。你可以创建多个线程来并行地读取文件,然后在需要时异步地读取文件,这样每个线程都可以独立地读取文件,而不会互相干扰。 -
使用文件锁:如果你正在使用文件锁来保护文件,那么你可以使用一个共享的锁来同步多个进程的读取。你可以将多个进程放入一个锁的等待队列中,当一个进程请求锁时,其他进程则需要等待,直到这个进程释放锁。
-
使用事件驱动编程:如果你正在使用事件驱动编程,那么你可以使用
asyncio模块来创建和管理事件循环。你可以创建多个事件循环来并行地读取文件,然后在需要时使用事件循环来控制进程的执行顺序。
以上只是一些常见的解决方法,具体的解决方案可能会根据你的需求和环境有所不同。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
