刚刚学了一点线程的东西,为了在指定的时间间隔之后继续执行,我是这样实现的:
procedure TWatchThread.execute;
var
  dt:TDateTime;
begin
 try
  while(true) do begin
    dt:=Now;
    if(SecondsBetween(self.dtLoadedTime,dt)<self.nInterval) then continue;//其中self.nInterval为时间间隔的秒数    Synchronize(self.drawQuality);    self.dtLoadedTime:=dt;  end;
end;如此一来,这个线程对CPU的占用率极高;想到用一个Timer,每隔一定时间间隔让线程执行,又觉得比较麻烦。请问有什么办法在线程内部实现这样一个功能?望各位援手!