在特殊时间运行方法的更好方法是什么

本文关键字:方法 是什么 更好 运行 时间 | 更新日期: 2024-10-30 06:09:17

我有一个Windows窗体应用程序,它在一段时间后反复调用一个方法。 所以我担心 CPU 使用率。我知道两种方法可以做到这一点:

1) 使用定时器组件
2) 循环调用Thread.Sleep(time)

那么,哪一个更好呢?哪个使用CPU较少或没有使用CPU?

在特殊时间运行方法的更好方法是什么

没关系,因为即使您将循环设置为 1ms,也无法真正测量 CPU 使用率。会那么低。

出于可靠性、可维护性和可读性的原因,您应该使用 System.Windows.Forms.Timer

如果你想每隔一段时间定期执行某些代码块,那么使用计时器,它是为此而设计的。一点 CPU 架构知识向您表明,有些通用计时器不会消耗任何处理器或操作系统资源来生成准确的时间延迟。

另一方面,将线程保持在挂起状态并将其切换到执行状态并将其排队到就绪队列中将消耗 CPU 和操作系统资源。