非UI线程的Timer
日常我们使用的Timer 基本都是System.Timers.Timer,但是前段时间使用的时候就发现 在它的Tick处理
中有个长时间未响应的处理 结果发现界面会未响应,才了解原来 System.Timers.Timer 是使用的UI线程。
于是我赶紧百度了一下,还有个System.Threading.Timer 这个命名空间下的定时器不是阻塞UI的,于是查看了
一下用法
Timer(TimerCallback callback, object state, int dueTime, int period)
1.第一个参数是个委托,就是对应的定期执行的函数的委托
2.第二个参数定时执行函数时的参数,不用的时候可以给null
3.第三个参数是调用TeimerCallback之前的延迟时间,0 为立即开始 -1 为停止
4.第四个参数是定时器的间隔时间