在许多语言中,有一个
等待(毫秒)
或者
睡眠(毫秒)
命令,这只会使您的程序在睡眠结束之前不再执行任何代码(这并不意味着它会停止正在运行的代码,它只是暂停运行更多。在 C# 中有这样的命令吗?
Thread.Sleep(time) 不起作用,它也会暂停当前正在执行的所有代码(基本上会冻结你的程序)
在许多语言中,有一个
等待(毫秒)
或者
睡眠(毫秒)
命令,这只会使您的程序在睡眠结束之前不再执行任何代码(这并不意味着它会停止正在运行的代码,它只是暂停运行更多。在 C# 中有这样的命令吗?
Thread.Sleep(time) 不起作用,它也会暂停当前正在执行的所有代码(基本上会冻结你的程序)
在 C# 中,默认情况下一切都在一个线程上运行。如果你愿意,你可以创建另一个线程来运行一段特定的代码。然后,您可以休眠该线程,这样您的应用程序就不会冻结。
查看此问题以获取更多信息:如何在新线程中运行一些简单的代码?
你会想要验证语法,因为我只是在尝试,但这将在指定的时间内进入一个非阻塞循环......
// 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(() => { }));
同样,您需要先验证语法...
是的:
Thread.Sleep(milliseconds)
http://msdn.microsoft.com/es-es/library/system.threading.thread.sleep(v=vs.80).aspx
Thread.Sleep(milliseconds)
应该为你做