天使と悪魔選手権

C# で一定時間待機するのにSleepメソッドを使用しますが、
Sleepメソッド使用中はCPUを大量に消費します。

CPUを消費しない方法はあるのでしょうか?

ただしクラス内でのコーディングとし、
フォーム内使用のTimerメソッドは使用しないとします。
(クラス内であればTimerメソッドは使用OKとします。)

A 回答 (1件)

どのようなコードをお書きなのでしょう?



int n = 0;
while( n < 1000 )
{
  Thread.Sleep( 100 );
  n++;
  Application.DoEvents();
  label1.Text = n.ToString();
}

フォームにボタンとラベルを貼って上記のコードをボタンのClickイベントに記述して実行した際に
タスクマネージャのパフォーマンスタブで確認してみましたが
ほとんど影響が無いように思います

本当に作成中のアプリのCPU使用率が上がってしまっているのでしょうか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!