承接http://www.delphibbs.com/delphibbs/dispq.asp?lid=1961367问题,加入一线程之后,服务器占有100%CP

  • 主题发起人 主题发起人 siyan
  • 开始时间 开始时间
S

siyan

Unregistered / Unconfirmed
GUEST, unregistred user!
承接http://www.delphibbs.com/delphibbs/dispq.asp?lid=1961367问题,加入一线程之后,服务器占有100%CPU资源,请xeen大侠帮忙解决(100分)<br />xeen大侠,我认为是线程一直在执行while循环的原因,你认为呢?有什么好办法解决
 
while 中
sleep(500)
CPU资源 就降下来了
你CPU不休息,那还不100%
 
可是我觉得奇怪的是为什么很多时候CPU的占用率又只有百分之几(100%与百分之几的时间五五开)
最主要的是我担心这样会影响系统的稳定性,以致我怀疑前面的解决方法的可行性
 
我这样写的程序都有十几家医院在用了
//最早的已经2年了。
 
hfghfghfg大侠的意思就是说加上sleep,对服务器的效率就没有影响了是吗
 
while someFlagdo
begin
do something;
end;
//这样 只要 CPU有空闲就 do
something;
//就会100%CPU资源

while someFlagdo
begin
do something;
end;
在someFlag =true时
含义是:
如果CPU资源<100%就给我做事
//就是把CPU的所有油水都榨出来


 
加入sleep,是为了让CPU交出控制权,这样CPU可以响应其他的一些请求,提高了系统效率!
 
多人接受答案了。
 
后退
顶部