繁体   English   中英

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

[英]Windows Service needs to wait, Thread.Sleep?

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

谢谢

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

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

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

使用Timer每60秒触发一次进程,而不是强制进程进入休眠状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM