在程序中大量使用TTimer来做状态和判断和控制,这样好吗?
有些资料上说TTimer会消耗大量系统资源,建议用线程来实现
可以个人认为用线程来实现也同样要消耗系统资源,到底哪个消耗少呢?
如果不考虑实现上的复杂度,要选用哪个实现方法

解决方案 »

  1.   

    不是一回事,你在ttimer中放个大循环,主程序仍然死掉..线程不会
      

  2.   

    如果在ttimer的ontimer事件中不对Timer.Enabled进行控制,而OnTimer事件的执行
    时间大于TTimer.Interval,这会出现什么情况?
      

  3.   

    我比较喜欢用线程一点,TTimer是消耗大量系统资源,
    线程如果设计合理的话是不会消耗太多的系统资源的,
    用线程的好处是对象化,结构化比较好,而且比较好控制。
    不好的地方呢就是要考虑的方面比较多,如同步阿,
    内存泄漏阿,出错控制阿……
      

  4.   

    我觉得还是线称好,用timer 太别扭了
      

  5.   

    很多人认为ttimer使用简单,不要考虑很多东东,所以比较多的还是会用TTimer来实现to visualpojin(飘飘) 
    “TTimer 会阻塞呀”  这话什么意思?
      

  6.   

    “TTimer 会阻塞呀”  这话什么意思?你在OnTime时间中写一个死循环就知道了
      

  7.   

    我这样写,没什么问题啊
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      while true do Application.ProcessMessages;
    end;怎么判断是阻塞呢?
      

  8.   

    “TTimer 会阻塞呀”  这话什么意思?
      

  9.   

    to myy()
    我这样写,没什么问题啊
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      while true do Application.ProcessMessages;
    end;怎么判断是阻塞呢?
      

  10.   

    to myy()
    我这样写,没什么问题啊
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      while true do Application.ProcessMessages;
    end;怎么判断是阻塞呢?