我正在开发 .net Windows 应用程序。
我正在使用 System.Threading.Thread。
在使用五 (5) 个线程的单一形式中。我有一个代码,它在运行时按顺序执行一系列行。我想在两者之间添加一个暂停。
为此我正在使用
Thread.Sleep(10800000)
3 小时
但是我在执行
行之后在 Debug模式下进行了检查Thread.Sleep(10800000)
即使等待 4 小时,我的调试也没有转到下一行,或者下一行永远不会执行。
我在其他线程而不是主线程中使用这个 Thread.Delay。 此延迟需要,因为我发送了一个命令来配置硬件设置,该设置至少需要 3 小时 才能完成。
这就是我使用它的原因
Thread.Delay(10800000)
意味着我的后续代码只有在等待 3 小时后才能继续。
谁能帮帮我?
最佳答案
Thread.Sleep 不是为长时间 sleep 而设计的。您应该考虑使用类似 System.Threading.Timer 的东西.
Provides a mechanism for executing a method on a thread pool thread at specified intervals.
您可以将其首次运行时间设置为午夜,然后让它每 24 小时关闭一次。 Timer(TimerCallback, Object, TimeSpan, TimeSpan) 构造函数正是您要找的。p>
关于c# - 关于 C# 中 Thread.Sleep() 2 小时的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42690975/