有“睡眠”命令吗?
在很多语言中,有一种
等待时间(毫秒)
要么
睡眠时间(毫秒)
命令,只是让你的程序不再执行任何代码,直到睡眠结束(这并不意味着它停止正在运行的代码,它只是暂停运行更多。在C#中是否有这样的命令?
Thread.Sleep(time)不起作用,它暂停当前正在执行的所有代码(基本上冻结你的程序)
Thread.Sleep(int milliseconds)
是你在找什么
叶氏:
Thread.Sleep(milliseconds)
http://msdn.microsoft.com/es-es/library/system.threading.thread.sleep(v=vs.80).aspx
是的,有。
Thread.Sleep(milliseconds)
例如,如果您使用Thread.Sleep(5000)
,它将使线程hibernate5秒。 阅读更多@ MSDN
Thread.Sleep(milliseconds)
应该为你做
在C#中,默认情况下一切都在一个线程上运行。 如果需要,可以创建另一个线程来运行特定的代码。 然后,您可以睡眠该线程,以便您的应用程序不会冻结。
请查看此问题以获取更多信息: 如何在新线程中运行一小段代码?
你需要validation语法,因为我只是想要它,但是这将在指定的时间内进入非阻塞循环……
// 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(() => { }));
同样,您需要先validation语法...