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

smallfool 2003-03-06 11:34:49
现有一程序,定期(频率很高)刷新共享内存和文件,但由于文件操作很费时,导致效率很低,而且经常当机。想优化一下代码,请高手给一些建议。
...全文
43 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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。这有个同步问题,比较麻烦。

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧