0
如何在没有定时器的情况下每2分钟执行一次代码? 。我想我可以用线程来做,但是怎么做呢?并使用计时器或线程更好?使用线程而不是定时器[VB.NET]
如何在没有定时器的情况下每2分钟执行一次代码? 。我想我可以用线程来做,但是怎么做呢?并使用计时器或线程更好?使用线程而不是定时器[VB.NET]
线程对于一个定时器来说是一个不合理的昂贵的选择,特别是那个慢的定时器。调用Sleep(2 * 60 * 1000)的线程不使用兆字节的内存,而是有效地使用五个操作系统来处理托管线程的成本。
改为使用System.Threading.Timer或System.Timers.Timer。回调/事件在一个线程池线程上运行,所以要注意你做了什么,访问共享变量时需要正确的锁定。与普通线程相同的考虑因素。
+ 1提及适当的锁定 – Codexer 2013-03-02 16:46:59
该代码是否与UI的交互最少? – dbasnett 2013-03-02 16:19:57
不,它不.. – user1970090 2013-03-02 16:30:07