0

一定期間後にメソッドを繰り返し呼び出すWindowsフォームアプリケーションがあります。だから私はCPU使用率が心配です。私はそれを行う2つの方法を知っています:

1)タイマーコンポーネントの使用2)ループでの
呼び出しThread.Sleep(time)

それで、どちらが良いですか?CPUをあまり使用しないのか、CPUを使用しなかったのか。

4

2 に答える 2

1

特定のコードブロックを特定の時間ごとに定期的に実行する場合は、そのために設計されたタイマーを使用します。CPUアーキテクチャの知識が少しあると、正確な時間遅延を生成するためにプロセッサやOSリソースを消費しない汎用タイマーがあることがわかります。

一方、スレッドを一時停止状態に維持し、実行に切り替えてレディキューにエンキューすると、CPUとOSのリソースが消費されます。

于 2012-08-07T22:41:23.807 に答える
1

ループを1msに設定しても、CPU使用率を実際に測定することはできないため、問題ではありません。それはそんなに低いでしょう。

信頼性、保守性、および読みやすさの理由から、を使用する必要がありますSystem.Windows.Forms.Timer

于 2012-08-07T22:41:26.760 に答える