c# - 在 Windows 服务中使用 Thread.Sleep()

标签 c# multithreading windows-services sleep

我正在编写一个需要长时间休眠的 Windows 服务(最长休眠时间为 15 小时,最短时间为 30 分钟)。我目前正在使用 Thread.Sleep(calculatedTime) 将我的代码置于 sleep 模式。 Thread.Sleep 是最好的选择还是我应该使用计时器?我已经用谷歌搜索了一段时间,但找不到简洁的答案。由于这是一个 Windows 服务,我不必担心锁定 UI,所以我想不出不使用 Thread.Sleep 的理由。

如有任何见解,我们将不胜感激。

最佳答案

我会使用计时器 Thread.Sleep,它可能会导致阻塞,从而阻止服务关闭。

如果间隔如此广泛且有规律,您也可以安排它。但是,如果您谈论的是长的、不一致的间隔,那么是的,定时器会更好。

关于c# - 在 Windows 服务中使用 Thread.Sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/998142/

相关文章:

c# - 打开xml sdk 2.0用公式读取excel单元格值

c# - 从 C++ 包装代码以在 C# 中使用

c# - 使用 Over TCP 发送多个文件

android - 使用线程或异步任务的位图工厂动画

java - Windows 上的 IBM Websphere - OutOfMemoryError : Failed to create a thread

.net - 多个应用程序共享相同的配置文件

c# - 如何从 Windows 窗体创建一个仅显示消息的窗口?

c - 在互斥锁内调用 sleep() 有什么缺点?

c# - 是否可以使用 .Net 注册 PreShutdown 服务事件?

.net - 单例与否