并发操作文件,内存暴涨?

WGYKING 2004-10-15 12:27:43
原贴内容:
http://community.csdn.net/Expert/topic/3453/3453525.xml?temp=.2050745

我的程序中需要动态申请内存,我用GETMEM(POINT,SIZE)分配内存,然后把分配的内存指针放到队列中,然后用线程从队列中获得指针,然后处理,当处理结束后,再用FREEMEM(POINT)释放内存。
但是由于数据量比较大,我的程序在运行几个小时后,系统内存会长100M左右,当我的程序关闭后,
内存会慢慢地减少(而且需要一点时间)。很奇怪。
请高手指点一下。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

经过测试
一行情问题需要不停地打开读取数据和关闭他
如果文件是静态的
那么没有内存增长问题
如果上位机有数据需要不停地写入文件
那么内存将暴涨
这如何解决?
...全文
484 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2004-10-15
  • 打赏
  • 举报
回复
GETMEM(POINT,SIZE);

FREEMEM(POINT,SIZE);
WGYKING 2004-10-15
  • 打赏
  • 举报
回复


内存泄漏~~

不好意思
谢谢大家~~
Shiyl 2004-10-15
  • 打赏
  • 举报
回复
我看还是思考的重点放在打开的文件是否全都关闭这个问题上吧,再看看吧:)


----------------------------------------------------------------
花自飘零水自流,一种相思,两处闲愁。
此情无计可消除,才下眉头,又上心头。
----------------------------------------------------------------
menggirl 2004-10-15
  • 打赏
  • 举报
回复
弄一个内存池,加入并发和空闲机制,
如果需要的话,取出来,不需要的话,RELEASE,
代码,简单,






















不过我没有写过,你自己写下哈
WGYKING 2004-10-15
  • 打赏
  • 举报
回复
不是分配内存的问题~~

是并发操作文件的问题
如果前置机不停地写文件
我的程序不停地从文件中读取数据
就会导致内存的增长

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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