どのよう拡張性のあるシステム。Threading.タイマー?
-
09-06-2019 - |
質問
書いるアプリを利用 Timer
sが潜在的に非常に多くのこと。どのよう拡張性の System.Threading.Timer
クラス?を書けと言うので"軽量"とはありません説明しましょう。これらのパートフロアには単一のスレッド(または非常に小さいthreadpoolるプロセスのすべてのコールバック関数を実行 Timer
, やな Timer
独自のスレッドかどうか
思いは一箇所には:どのように System.Threading.Timer
データエスクローエージェント
解決
高いレベルに応じて多くの質問:ることを忘れないでください(管理)ソースコードの枠組みが可能です。利用することができるツールですべて: http://www.codeplex.com/NetMassDownloader
残念ながら、この特定の場合、多くの実装では、ネイティブコードでは得られないときには、いくつかのへの視したりしないでください...
でも、その利用プールのスレッドはスレッド毎にタイマーです。
の標準的な方法を実施する集タイマーはどのようにカーネルになりますので、容疑者を間接的にどのようにお集タイマー終了まで)を維持するlist順にソートの時間まで-期限でシステムのみが安心を確かめるとともに、次のタイマーである限全体ではなく、一覧です。
約、あるいはO(log n)の開始タイマー及びO(1)処理を走るタイマー.
編集:って、ジェフ-リヒタージが生まれました。と言うのねじ.タイマー)を利用する場合は、その単一のスレッドすべてのタイマーオブジェ、このスレッドは知っておこの場合、そのタイマー(上記)による通話ThreadPool.QueueUserWorkItemのコールバックとして適しています。この効果があるかない場合には仕上がりサービスを一つのコールバック、タイマーを前に、次により、おまとめてコールバック関数とし再入別のスレッドプール.その概要んだ大きな問題を多くのパートで入手できるかもしれませんが、なスレッドプールの枯渇が多数の焼成時と同じタイマーおよび/またはそのコールバックが遅い。
他のヒント
いという思いを大切にしているためて考えデザインする場合は管理してデザインはお客様にてご用意ください)。を使用している場合、多くのパートこれは実際に懸念されますが、明確にその連結あります。
この記事は客様の権利についてから数年前との比較を可能タイマーの授業は、一見その実装:
を統合します。をタイマー サービスをいただくようお願いしの方まだ1活性 タイマー(次によるコール)...
これの改善をもたらすだけ多くのスレッド.タイマージするというねじ.タイマーがいします。思い知りましたがおわん分解のネイティブのビット単位の枠組みをうかび上がることにもなりかねない。
^^てDannySmurf言うのです:を統合します。をタイマーサービスをいただくようお願いしの方まだ1活動タイマー(次による通話や歴史のすべてのタイマーの要望や音楽はグラミー賞にノミネートAddTimer()/RemoveTimer().