我做的是个数据采集系统,程序连接上设备后就开始不停地采集数据。我让程序一直采集数据,大概运行了20多分钟,计算机反应就一点点变慢了,直至跳出来一个Runtime Error的对话框。关掉程序后,我查看了一下任务管理器,发现CPU占用了50%还多,大概要过半分钟,CPU使用率才降到3%,我觉得可能是程序内存使用出了问题。我程序中使用的堆比较多,也用了链表,但是链表中并没有存留太多的东西啊,因为,改变源信号,数据都能及时响应。那会是在哪里出了问题呢?恳请高人指点一下,谢谢
解决方案 »
- CComBox控件,鼠标滑过所有选项响应消息?应该怎样处理,应该响应什么消息?
- 全局变量出现的奇怪问题
- 求救:为什么我的COM调用会出错?
- 初学者求VC++6中读取ASC数据文件的代码
- dll的调试问题
- 救命啊,用ADO访问ACCESS,调试成功,换到另外一台电脑就不行了
- 求教:这个功能可能有点夸张,仅30分了,不好意思。HELP……
- 【二千(2000)专家分求一程序】
- 关于《Microsoft Windows网络编程》(Network Programming For Microsoft Windows, Second Edition)中的例子问题
- 如何得到当前日期是星期几?
- vista下无法调用activex dll控件,但是网页可以调用active?
- 怎么转换才能将IP_ADAPTER_INFO结构的值用CIPAddressCtrl::SetAddress()显示在控件上?
楼主说明一下情况
1、是程序完全退出后,CPU还在占着50%吗?如果是这样的话那不关你的程序事!
2、强制关闭程序,程序在退出的过程中CPU占50%吗?那就是设备通讯问题,估计在你关闭程序的时候,系统不断发送关闭命令给你的程序,而你的程序中有一条线程正在与设备进行通讯而无法立刻关闭(因为是强制关闭,所以设备没有接收到正常的连接中断消息)
没研究过数据采集系统,根据数据库连接的道理推断!
当服务器的数据库服务程序没有开启或者地址不存在有数据库服务的时候,客户端连接数据库的时候会一直占着线程,直到超时后才有反应。
我说的关掉程序是指弹出“Runtime erroe"对话框之后,程序也就没法继续运行了,之后程序就关闭了,这个时候去查看任务管理器。说明一下,虽然我做的是数据采集系统,但是并没有用数据库,我只是把数据保存到了txt文件里面