[英]How can i put a delay with C#?
我想讓一個應用程序執行幾條指令來傳遞以下指令必須等待幾毫秒。
這樣:
while(true){
send("OK");
wait(100); //or such delay(100);
}
在C#中有可能嗎?
Thread.Sleep(100);
會做的。 這可以在System.Threading
命名空間中找到。
您可以使用Thread.Sleep()方法暫停當前線程X毫秒:
// Sleep for five seconds
System.Threading.Thread.Sleep(5000);
要睡眠100毫秒,請使用Thread.Sleep
While(true){
send("OK");
Thread.Sleep(100);
}
Thread.Sleep(毫秒)應該停止該秒的應用程序。 閱讀MSDN中的Thread.Sleep。
你可以使用Thread.Sleep
,但我強烈反對它,除非你A)知道它是合適的事實而B)沒有更好的選擇。 如果您可以更具體地了解您想要實現的目標,那么可能會有更好的替代方案,例如使用事件和處理程序。
是的,您可以使用Thread.Sleep方法 :
while(true)
{
send("OK");
Thread.Sleep(100); //Sleep for 100 milliseconds
}
然而,睡眠通常表示次優的設計決策。 如果可以避免,我建議這樣做(使用回調,用戶模式等)。
這將是一個更好的選擇,因為它不會鎖定當前的thead並使其無響應。
創建此方法
async System.Threading.Tasks.Task WaitMethod()
{
await System.Threading.Tasks.Task.Delay(100);
}
然后像這樣打電話
public async void MyMethod()
{
while(true)
{
send("OK");
await WaitMethod();
}
}
不要在調用延遲的方法中偽造異步!
Thread.Sleep()
是解決方案。它可用於等待一個線程,直到其他線程完成它的工作或執行一條指令后,有人想在執行后面的語句之前等待時間。 它有兩個重載方法。第一個采用int類型的milisecond參數,而第二個采用timespanpan參數。 1 Milisecond=1/1000s
毫秒1 second=1000 Miliseconds
或 1 second=1000 Miliseconds
假設有人想等待10秒代碼將....
System.Threading.Thread.Sleep(10000);
有關Thread.Sleep()
更多詳細信息,請訪問http://msdn.microsoft.com/en-us/library/274eh01d(v=vs.110).aspx
快樂的編碼.....!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.