Windows服务需要等待,Thread.Sleep?

我有交stream#窗口服务,需要每60秒执行一次数据库查询(或任何间隔在configuration文件中设置)。 我在一个while循环中使用Thread.sleep(60)来完成这个任务。 有一个更好的方法吗?

谢谢

Solutions Collecting From Web of "Windows服务需要等待,Thread.Sleep?"

您可以使用System.Threading.Timer每60秒运行一次代码,而不是在睡眠线程中执行代码。

这取决于你想要做什么。 如果你想要一个(更多)确切的方法,你可能想使用System.Threading.Timer 。 关于thread.sleep的一件事情是,它真的是“sleepatleastuntil …”。 在睡眠时间过去之前,处理器会忽略你的线程。 下一次,它会让你的线程优先,在睡眠时间过后,它会。

这通常会非常接近所需的时间间隔,但可能会更长。 除非你真的打算屈服,否则不要屈服。

使用计时器每60秒启动一次进程,而不是强制进程进入休眠状态。