0

タスクを定期的に呼び出すことができるカスタム スケジューラ クラスを開発しています。

考えられるアプローチとして、次の 2 つを考えています。

  1. X 秒の期間を持つ各タスクに対して、タスクの期間と等しい間隔で独自のタイマーを作成する、または

  2. 1 つのタイマーを作成し、そのティックごとにその間隔を再計算し、すべてのタスクを繰り返して、時間的に最も近いものを見つけますか?

最初のアプローチはよりシンプルでわかりやすいように見えますが、10 個または 20 個のタイマーを作成するのにコストがかかるかどうかはわかりません。

パフォーマンスの観点から、どちらが優れていると思いますか?

4

1 に答える 1

1

Quartz.net のような既存のスケジューリング ライブラリを使用するのはどうですか?

Quartz.NET は、最小のアプリから大規模なエンタープライズ システムまで使用できるフル機能のオープン ソース ジョブ スケジューリング システムです。Quartz.NET は、C# で記述された純粋な .NET ライブラリであり、非常に人気のあるオープン ソースの Java ジョブ スケジューリング フレームワークである Quartz のポートです。このプロジェクトは、元の Java プロジェクト、父の James House とプロジェクトの貢献者のおかげです。

http://quartznet.sourceforge.net/

于 2013-07-20T07:54:43.030 に答える