Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何在没有计时器的情况下每 2 分钟执行一次代码?. 我想我可以用线程来做,但是怎么做呢?使用计时器或线程更好吗?
对于计时器来说,线程是一种非常昂贵的替代品,尤其是一个滴答声很慢的计时器。调用 Sleep(2 * 60 * 1000) 的线程未有效使用 1 MB 内存和五个操作系统句柄,这是托管线程的成本。
请改用 System.Threading.Timer 或 System.Timers.Timer。回调/事件在线程池线程上运行,因此请注意您所做的事情,当您访问共享变量时需要正确锁定。与常规线程相同的注意事项。