如何在没有计时器的情况下每2分钟执行一次代码? 。我想我可以用线程来做,但是怎么做?并且使用计时器或线程更好吗?
答案 0 :(得分:3)
线程对于计时器来说是一种不合理的昂贵选择,特别是那种速度慢的计时器。一个调用Sleep(2 * 60 * 1000)的线程没有使用一兆字节的内存和五个操作系统处理,这是托管线程的成本。
请改用System.Threading.Timer或System.Timers.Timer。回调/事件在线程池线程上运行,因此请注意您的操作,访问共享变量时需要正确锁定。与常规线程相同的考虑因素。