私は(C#で)作成しているプログラムを持っていて、2つのアプローチがあります..新しいスレッドを作成するかスレッドのためにもっと多くの作業をする
1)Xスレッド仕上げに、終わったときに、それは仕事の次のチャンクを取得し、新しいスレッドを作成し、それを我々はXスレッドが起動するために作成
または
2)そのチャンクを与え、それら各に仕事のチャンクを与える、とするときスレッドはチャンクを終了します。チャンクはジョブマネージャにもっと多くの作業を要求します。それ以上の仕事がなければ、それは眠り、次に尋ね、睡眠は徐々に長くなる。
このプログラムは実行され、実行されます。それで、私はそれが継続的により多くの仕事を探すサービスに変わっていくのが分かります。
各チャンクは、いくつかの情報を取得したり、データIDに対して操作を実行したり、データIDのデータベース情報に書き込んだりするためのデータベースへの呼び出しで構成されます。
解決方法1を明確にするために、スレッドが終了するのを待ってから、新しいスレッドを作成し、実行すべき作業があればそのスレッドにもっと多くの作業を渡します。 –
これを考えると、しかし、スリープチェックスリーププロシージャではなく、最後にスレッドが作業項目を要求するようにしてください。それがなければ、無期限に眠る。それから、あなたのコーディネーターに眠っているスレッドを見つけて、そのうちの1人に目を覚ますように知らせてください。 –