有“睡眠”命令吗?

时间:2013-07-26 22:51:38

标签: c#

在很多语言中都有

  

等待(毫秒)

  

睡眠(毫秒)

命令,只是让你的程序不再执行任何代码,直到睡眠结束为止(这并不意味着停止代码'正在运行,它只是暂停运行更多。在C#中是否有这样的命令?

Thread.Sleep(时间)不起作用,它会暂停当前正在执行的所有代码(基本上会冻结您的程序)

6 个答案:

答案 0 :(得分:2)

Thread.Sleep(int milliseconds)

是你要找的东西

答案 1 :(得分:0)

答案 2 :(得分:0)

是的。

Thread.Sleep(milliseconds)

例如,如果使用Thread.Sleep(5000),它将使线程休眠5秒。阅读更多@ MSDN

答案 3 :(得分:0)

Thread.Sleep(milliseconds)应该为你做

答案 4 :(得分:0)

在C#中,默认情况下一切都在一个线程上运行。如果需要,可以创建另一个线程来运行特定的代码段。然后,您可以睡眠该线程,以便您的应用程序不会冻结。

请查看此问题以获取更多信息:How do I run a simple bit of code in a new thread?

答案 5 :(得分:0)

你需要验证语法,因为我只是想知道它,但是这将在指定的时间内进入非阻塞循环......

// Set the wait time
double waitTime = 5.0;

// Get the current time
DateTime start = DateTime.Now;

// Check the wait time
while(DateTime.Now.Subtract(start).TotalSeconds < waitTime)
{
    // Keep the thread from blocking
    Application.DoEvents();
}

假设您使用的是Windows窗体。如果你正在使用WPF:

//Application.DoEvents();
this.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { }));

同样,您需要先验证语法...