各位高手:
我要寫一個小程式在伺服器上頭以背景方式執行,程式啟動後,每隔一段時間處理某個作業,我用迴圈去判別經過的等候時間,結果發現在等候時,會造成CPU的使用率滿檔,主程式的寫法如下:
int nextMin = 0; // 程式在整點時啟動
for (int i = 0; i < 5; i++)
{
doJob();
nextMin+=10; // 每十分鐘執行一次
while (DateTime.Now.Minute != nextMin) ; // 等候時CPU使用率=100%
}
不知有何辦法可以讓CPU不要那麼忙?懇請不吝賜教,感激不盡~
<pre class="c" name="code">
System.Threading.Thread.CurrentThread.Sleep(60*1000);
我想會比較好。不過.net我不熟,所以你還是測試一下吧。
請參考:
http://msdn.microsoft.com/zh-tw/library/system.threading.thread.sleep.aspx