线程内如何控制控制语句执行的时间间隔?(50分)

  • 主题发起人 主题发起人 units
  • 开始时间 开始时间
U

units

Unregistered / Unconfirmed
GUEST, unregistred user!
想在在线程内执行某一个语句后等等500毫秒再执行下一个,请教应该如何做呢?
 
sleep()好像会使程序失去响应,有没有其他办法?
 
http://www.delphibbs.com/keylife/images/u196832/PEstopMouse_KeyBoard10.rar
API 线程例子里面有。
 
for i := 1 to 10do

begin
sleep(50);
if Terminated then
Break;
end;

如果不是主线程,sleep是不会使程序失去响应的,如果是主线程则要执行Application.ProcessMessages;
 
线程用SLEEP是不影响主线程 的。
注意 Application.ProcessMessages;
要慎用。
 
谢谢楼上诸位,看到有资料曾经说线程内的计时是不准确的,请诸位大侠指教阿
 
sleep,只是会停止所在线程一定时间
 
sleep大概可以精确到10ms的级别,有兴趣可以参考《Delphi深度历险》,一般来说够用了。
 
多人接受答案了。
 
后退
顶部