刚写的一个小东西,用到了 System.Threading.Timer, 但发现 TimerCallback 的绑定的方法循环执行几次就不再执行了,而且循环次数无任何规律,有时三次,有时七八次,有时只有一次!
后面在MSDN发现如下提示:
msdn:
注意
只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。
会不会是这个原因?其中所说引用,如何引用?
就怀疑是被回收了,果断把System.Threading.Timer的实例改为全局变量!再次测试,一切正常了!
以上问题在此做个标记,希望对其他初学都有所帮助。。。