这问题我老是想不明白,请大大帮我 ( 积分: 50 )

  • 主题发起人 主题发起人 初学者1号
  • 开始时间 开始时间

初学者1号

Unregistered / Unconfirmed
GUEST, unregistred user!
我在自己写一个线程的时候(从TThread继承),要让此线程等待一个事件(如键盘动作)的发生,只能用死循环不停的去读,效率真是低啊。希望大大们能给我一个提示,如何让它变的像timer那样,隔1秒钟执行一次
 
我在自己写一个线程的时候(从TThread继承),要让此线程等待一个事件(如键盘动作)的发生,只能用死循环不停的去读,效率真是低啊。希望大大们能给我一个提示,如何让它变的像timer那样,隔1秒钟执行一次
 
sleep(1000)
 
要等待一个事件可以用信号
HVar:HWND;
procedure Tsavedata.Execute;
begin
while not Terminateddo
begin
WaitForSingleObject(hVar, INFINITE);
//做事
end;
end;

激活信号:
SetEvent(hVar);
如果想格1秒执行一次用sleep(1000)就行
 
接受答案了.
 
后退
顶部