Timer的回调线程

时间:2011-02-10 15:53:48

标签: c# multithreading events timer callback

我在考虑定时器是如何工作的,还有一些我不完全理解的东西 Timer使用在时间过去时调用的事件。我假设这是由控制时钟的OS事件触发的(或由时钟控制) 但是我不确定哪个线程会抓住那个事件..

Timer对象是否有自己的主题?
或者是否会在创建计时器对象的线程中调用该事件?

编辑:

System.Timers.TimerSystem.Windows.Forms.Timer之间的这方面是否存在差异?

1 个答案:

答案 0 :(得分:9)

取决于Timer。如果使用System.Windows.Forms.Timer,则会在UI线程中处理tick事件。在System.Threading.TimerSystem.Timers.Timer中,它默认为线程池线程。但是,在后一种情况下,您可以指定SynchronizingObject,可用于将处理程序封送到适当的线程。