高分求教:如果有效减少I/O操作

smallfool 北京秀迈时空信息技术有限公司 CTO  2003-03-06 11:34:49
现有一程序,定期(频率很高)刷新共享内存和文件,但由于文件操作很费时,导致效率很低,而且经常当机。想优化一下代码,请高手给一些建议。
...全文
12 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallfool 2003-05-14
总是提示这个。贴子回复次数大于跟给分次数
回复
smallfool 2003-05-14
如何给分???
回复
rexp 2003-05-14
使用ramdisk吧。
回复
zhang1000 2003-03-07
想法同: icelight(给我一个接口,我能驱动地球. . .仪)
文件操作慢就不要用它,可能的话可以用内存映射文件...
而且一般不可能100M内容全部刷新,可以先判断,然后刷新必要的块...
回复
icelight 2003-03-07
楼主把需求再讲详细点。

例如为什么又要共享内存又要共享文件内容。有没有用到内存映射文件。
回复
JoeRen 2003-03-07
1、利用串行化解决同步问题
使用操作系统队列(例如消息队列、APC队列、完成端口队列等,甚至可以利用SList自行建立线程安全的队列),将文件的访问集中到单一一个线程中去。
2、利用重叠I/O并发执行读写操作
回复
smallfool 2003-03-07
其实说出来话有点多了,既然大家热情很高。容我想想,如何组织好语言,那个要求还真的有点不好说清楚。
回复
Bird1945 2003-03-06
可以把刷新文件的代码放到一个线程或进程里,单独执行.
回复
smallfool 2003-03-06
文件很大。有100多M。这有个同步问题,比较麻烦。
回复
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
社区公告
暂无公告