找回密码
 注册
查看: 1512|回复: 5

关于多个进程对同一个文件写的问题

[复制链接]
发表于 2005-7-31 09:42:29 | 显示全部楼层 |阅读模式
我编写的是一个服务端程序,它需要客户端上传数据并且取其重要部分,写入文件做备份,由于客户端很多,文件只是一个,服务器端设为守护进程并且进行多进程服务,可是我想,当多个客户端发出请求,正当某一进程向和它相联的客户端服务并写文件时,它的时间片用完了,但该文件仍在打开状态,此时另一进程正好开始了对另一个客户端的服务,那么肯定会出现无法打开文件,甚至文件被写得差三落四的情况,我该怎么办去协调呢??
各位大虾帮帮忙啊
发表于 2005-7-31 11:01:57 | 显示全部楼层
可以改用同一个进程写文件,不用多进程写文件,将要写的数据都给这个进程
回复

使用道具 举报

发表于 2005-7-31 22:58:39 | 显示全部楼层
另外还可以有其他方法:
独占访问
record locking

不过还是楼上的方法比较好。所有进程将文件读写的请求全部交付给一个进程执行。
回复

使用道具 举报

发表于 2005-8-1 08:48:31 | 显示全部楼层
写入数据库
回复

使用道具 举报

发表于 2005-8-1 08:53:16 | 显示全部楼层
数据库基本属于 fsilence 方法的一个特例……
回复

使用道具 举报

发表于 2005-8-1 09:26:47 | 显示全部楼层
它需要客户端上传数据并且取其重要部分,写入文件做备份,由于客户端很多,文件只是一个

如果是写至数据库 可以想到这样的情况 不过用现成的数据库开发者也不许要考虑这个问题
如果是普通文件 为什么会有不同用户同时上传到同一个文件?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-8 04:29 , Processed in 0.026810 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表