涉及界面更新,使用多线程快还是Timer快?同时要求对主线程的影响最小。(100分)

  • 主题发起人 龙行天下
  • 开始时间

龙行天下

Unregistered / Unconfirmed
GUEST, unregistred user!
在主线程中使用Timer定时器,如果在OnTimer事件中执行过长的操作时会不会影响主线程的执行?
如果使用多线程的方法,涉及界面更新应该用Synchronize同步吧,从帮助上看Synchronize也是将执行交给主线程,那么同Timer在效率上有什么区别?多线程还要上下文切换。
 
我认为可以分为两种情况:
一:如在Timer事件所处理的内容均与界面有相关,则在Timer中处理快一些,在Timer事件中处理肯定会影响主线程的执行
二:如处理内容有较耗时的操作(且不涉及界面),应该是在多线程中处理更快一些
如果不是特别大量的数据,可以由线程将相关数据发到主线程中,由主线程处理界面操作部分,这样多线程会快一些
 
是呀,同意pwlsjm
如果你认为在TIMER中慢,就多加几个application.processmessage吧!
 
楼主
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2412631
为何又开新帖呀?[:)]
 
多人接受答案了。
 
顶部