CPU使用率100%(线程)(50分)

  • 主题发起人 主题发起人 myhby
  • 开始时间 开始时间
M

myhby

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中使用了一个线程用于数据采集,可是线程运行时,CPU使用率到100%,主程序速度明显变慢。
有无解决办法?
 
采集什么? 如果是硬件数据,可能是被系统阻塞了。
 
循环里面加上Application.ProcessMessages;会解决主程序响应问题
再加上Sleep(1)解决CPU占用率
 
不知道你采集的什么数据,能不用循环尽量不要用,你可以尝试用HOOK实现一下看看
 
受益,收藏!
 
是从串口采集数据吗?
你不会是循环从串口读数据吧
你应该用等待函数将线程挂起
 
支持94i,这样做应该可以解决。
 
把线程优先级别降低,试看看
 
我也想知道[:)]
 
我是从数据采集卡中进行AD转换的,思路是这想的:
在程序Create时,thread开始Create(false),线程主要任务是从AD卡中读取数据,然后进行运行,实时显示在主程序界面的EDit.text中,使主程序在操作时妈终能见到数据采集的实时数据。用户如需要记录数据时,按下指定的按钮后,记录主程序中edit.text变动的值即可。
 
来自:94i, 时间:2006-3-8 15:29:11, ID:3375582
循环里面加上Application.ProcessMessages;会解决主程序响应问题
再加上Sleep(1)解决CPU占用率
 
实时数据是什么意思,是每时每刻都更新吗,哪这样的话cpu肯定100%,建议定时采集数据。
 
后退
顶部