今天在winform里用timer控件的时候突然想到一个问题,这个控件在执行时是一个新的线程还是原UI线程,查了查资料,具体用法如下:

在不同命名空间下有三个timer:

1.System.Threading.Timer
2.System.Timers.Timer
3.System.Windows.Forms.Timer

上面两个是多线程,只要时间到了,就会执行。哪怕前一次还没执行完,他还是会开个线程继续执行新的任务。

第三个就是winform里的timer控件,这个是单线程的。只有等前一次执行完了,才会执行第二次的任务。如果间隔5秒执行,如果第一次任务处理超过5秒,那么就会延后第二次任务。

最后修改:2020 年 11 月 05 日
如果觉得我的文章对你有用,请随意赞赏