今天在winform里用timer控件的时候突然想到一个问题,这个控件在执行时是一个新的线程还是原UI线程,查了查资料,具体用法如下:
在不同命名空间下有三个timer:
1.System.Threading.Timer
2.System.Timers.Timer
3.System.Windows.Forms.Timer
上面两个是多线程,只要时间到了,就会执行。哪怕前一次还没执行完,他还是会开个线程继续执行新的任务。
第三个就是winform里的timer控件,这个是单线程的。只有等前一次执行完了,才会执行第二次的任务。如果间隔5秒执行,如果第一次任务处理超过5秒,那么就会延后第二次任务。
还不快抢沙发