关于Thread.Sleep()在c#中2小时的问题

use*_*045 2 .net c# sleep visual-studio-2012

我正在研究.net windows应用程序.

我在用 System.Threading.Thread.

使用五(5)个线程的单一形式.我有一个代码,在运行时,它按顺序执行一系列行.我想在两者之间添加一个暂停.

为此我正在使用

Thread.Sleep(10800000)
Run Code Online (Sandbox Code Playgroud)

3个小时

但是在执行了行之后我检查了调试模式

Thread.Sleep(10800000)
Run Code Online (Sandbox Code Playgroud)

我的调试不会进入下一行,或者即使在等待4小时后,下一行也不会执行.

我在其他线程中使用此Thread.Delay不在主线程中.此延迟需要因为,我发送命令将设置配置为硬件,该设置至少需要3个小时才能完成.

这就是我使用它的原因

Thread.Delay(10800000)
Run Code Online (Sandbox Code Playgroud)

意味着我的前进代码只在等待3个小时后继续进行.

谁能帮我?

DaI*_*mTo 5

Thread.Sleep不适合长时间睡眠.你应该考虑使用像System.Threading.Timer这样的东西.

提供以指定的时间间隔在线程池线程上执行方法的机制.

你可以给它一个午夜的第一个运行时间,并让它每24小时运行一次.Timer(TimerCallback,Object,TimeSpan,TimeSpan)构造函数正是您所需要的.