2

これが私のプログラムの内訳です。これは、指定されたポート上のサーバーへの遅延を測定するツールです。

そのため、現在、特定のポートでサーバーを見つけるための手動チェックがあります。次に、このサーバーに500ミリ秒ごとにpingを実行し、このpingに基づいていくつかのGUI要素を更新します。

バックグラウンドスレッドでpingを実行し、pingのたびにthread.sleep(500)を呼び出します。

これらのイベントにタイマーを使用する方が良いでしょうか?

5秒ごとにサーバーをチェックし、500ミリ秒ごとにpingを実行したいと思います。

4

3 に答える 3

1

2つのタイマーを使用します。スレッドのスリープはひどいパフォーマンスです。5秒のタイマーが実行されたら、500ミリ秒のタイマーを無効にします。実行が完了したら、有効にします。これは、最も簡単で効果的な方法であるIMOです。

または、それが問題にならない場合は、タイマーを無効にしないでください。両方を続ければ大丈夫です。

于 2012-12-15T18:07:51.590 に答える
0

タスクスケジューラAPIを使用して、次の5秒後にアプリを起動する1回限りのタスクを設定できます。適切に管理されたラッパー:taskscheduler.codeplex.com

于 2012-12-15T17:28:34.690 に答える
0

スリープを使用する場合、タスクにかかる時間は関係ありません。500msスリープし、5時間のタスクを実行してから、再度スリープします。

タイマーを使用する場合は、タスクが次のタイマーイベントの発生と重複する可能性に対処する必要があります。これは物事をより複雑にします。

于 2012-12-15T17:39:29.587 に答える