如果我用多个Ontimer控件事不是相当于多线程?(100分)

  • 主题发起人 主题发起人 scorpions
  • 开始时间 开始时间
S

scorpions

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我用多个Ontimer控件事不是相当于多线程?会不会有问题?
我用多个Ontimer控件代替我的多线程好像很稳定,比我做得多线程都稳定还简单。
如果我用多个Ontimer控件(10个)程序会不会稳定。??
 
两码事。
〉〉我用多个Ontimer控件代替我的多线程好像很稳定,比我做得多线程都稳定还简单。
那是你对线程不熟。否则你会发现线程是很好的东西
 
当你的程序执行 timer 事件的时候,其它部分是绝对不会执行的。这就是单线程。
 
但我用多个Ontimer时,都同时执行啊。
 
你可以试试在响应事件的时候拷贝 500mb 文件或者是 sleep。
 
Timer 事件处理过程也是在VCL主线程中执行的,而不管有几个 Timer。你可以试着在事件
中这样做个简单的实验:
begin
...
//以上,如果TimeInterval是1秒,则利用空循环或其它方法延迟 2 秒
ShowMessage('Timer事件触发了!');//或作类似的显示,表明事件触发了
end;
则这个事件触发的间隔将不是1秒的。
用线程不稳定大概是没有保护共享变量引起的吧。
 
接受答案了.
 
后退
顶部