简单问题(50分)

  • 主题发起人 主题发起人 pyalhm
  • 开始时间 开始时间
P

pyalhm

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
I, J, X, Y: Word;
begin
I := 0;
J := 0;
while I < 64000 do
begin
Randomize;
while J<64000 do
begin
Y := Random(J);
//A位置
Inc(J);
end;
X := Random(I);
//B位置
Inc(I);
end;
Canvas.TextOut(10, 10, 'The Button1Click handler is finished');
end;
上述代码在A位置或B位置加sleep(1),程序会死机吗?为什么很长时间没有反应?
 
不会死机的,但是加了后太慢了。你在A位置加上就知道是多慢了
Canvas.TextOut(10, 10, IntToStr(J));
 
速度在慢了
 
循环64000次sleep() 不就是64秒吗,怎么会这么慢
 
64000*64000/1000=??秒
 
晕,这么大的循环,不sleep都得假死。
sleep有参数的,如果你再来个sleep(1000)那你要等64000*64000秒了,你说死不死?

这么大的循环,建议在线程里执行。
 
后退
顶部