2013-07-26 144 views
-5

在很多語言中,有一個是否有「睡眠」命令?

等待時間(毫秒)

睡眠時間(毫秒)

命令,只是讓你的程序不執行更多代碼直到睡眠結束(第並不代表它停止正在運行的代碼,它只是暫停運行更多。在C#中有這樣的命令嗎?

了Thread.Sleep(時間)不工作時,它將暫停當前正在執行以及所有代碼(基本上凍結程序)

+1

'Thread.sleep代碼();' –

+4

僅供參考,在主界面線程這樣做是**非常糟糕的主意**!這樣做會導致用戶體驗糟糕,用戶界面不會迴應。 – ThiefMaster

+2

有這樣的問題的搜索引擎...「C#睡眠」會給你一些東西 - 檢查http://www.bing.com/search?q=c%23+sleep –

回答

0

是的。

Thread.Sleep(milliseconds) 

例如,如果你使用Thread.Sleep(5000),就會使線程休眠5秒鐘。閱讀更多@MSDN

0

在C#中,一切都在一個線程默認運行做到這一點。如果你想要的話,你可以創建另一個線程來運行一段特定的代碼。然後,您可以睡覺該線程,以便您的應用程序不會凍結。

檢查這個問題出更多的信息:How do I run a simple bit of code in a new thread?

0

你要驗證語法,因爲我只是wingin'它,但是這將進入一個非聯鎖迴路指定的時間量...

// 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(() => { })); 

再次,你要驗證語法第一...