内存占100%,怎么解决

FlySkyFree 2006-12-01 11:45:20
我从数组里取出数据,不停的把数据在窗体上绘成波形
用了while(1)不停的循环,这样内存就达到了100%,不知道怎么解决?
...全文
376 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
FlySkyFree 2006-12-04
  • 打赏
  • 举报
回复
发送消息到主线程,还不知道怎么做,请帮忙
BenLeak 2006-12-04
  • 打赏
  • 举报
回复
画图是很耗时间的(相对于一般计算),不要在线程中画图

在线程中处理,发送消息到主线程画图
线程中使用 Sleep(0); 都会使 CPU 不占用 100%的
wangxintu 2006-12-04
  • 打赏
  • 举报
回复
1、应该是CPU占用率100%吧?内在占用率100%还能运行不可能吧?
2、开个线程,在线程中也要sleep,要是线程不会就用定时器也可以;
3、cczlp(不惑)说的方法是不错;
FlySkyFree 2006-12-04
  • 打赏
  • 举报
回复
cczlp(不惑)最好先在内存中绘图,最后再贴到窗体上.能详细说说怎么做吗?
还有我在线程里直接在Execute实现在窗体上画图,有时出现错误“Canvas does not allow drawing”,不知道怎么回事?是不是不能在Execute里直接对别的窗体上画图?
i_love_pc 2006-12-02
  • 打赏
  • 举报
回复
不停的把数据在窗体上绘成波形
============================

用离散的短时间间隔代替死循环.
wz 2006-12-02
  • 打赏
  • 举报
回复
mark
cczlp 2006-12-02
  • 打赏
  • 举报
回复
Sleep是把时间让给其它线程,CPU占用自然降低了。

最好先在内存中绘图,最后再贴到窗体上。
lother 2006-12-02
  • 打赏
  • 举报
回复
你这样调用线程,线程也在死循环.while(!Terminated)
方法:
No.1
去掉while循环.接受到画图指令只画一次.<间隔一定时间发画图指令>
No.2
用定时器每隔50ms画图一次
FlySkyFree 2006-12-02
  • 打赏
  • 举报
回复
我做了个线程,用了while(!Terminated),还是占到100%,用了cczlp(不惑) 的方法的确不是100%了,不知道为什么?
「已注销」 2006-12-02
  • 打赏
  • 举报
回复
Sleep(10);
winner8080 2006-12-01
  • 打赏
  • 举报
回复
当然没得解决,死循环啊
要在循环里设个退出条件
break;
shencyx 2006-12-01
  • 打赏
  • 举报
回复
用了while(1)不停的循环,这样内存就达到了100%,不知道怎么解决?
没得解决...
玄之丞 2006-12-01
  • 打赏
  • 举报
回复
while(1)不好,

你可以试试计时器。或者开一个线程处理。
wood542344 2006-12-01
  • 打赏
  • 举报
回复
SendMessage();看一下帮助吧。有说的。
最好还是另外分一个线程出来做这个事情。而且在while(1)里也要有一个一定可以运行到的break语句。
FlySkyFree 2006-12-01
  • 打赏
  • 举报
回复
vc8fans() ,请问怎么样向窗口发送消息?
vc8fans 2006-12-01
  • 打赏
  • 举报
回复
搞个线程代替while(1){}绘图时再向窗口发送消息就好了
「已注销」 2006-12-01
  • 打赏
  • 举报
回复
主  题: 内存占100%,怎么解决


内存100%你怎么还不死机...........
cczlp 2006-12-01
  • 打赏
  • 举报
回复
while(1)
{
....
Sleep(10); //这个值越大CPU占用越少
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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