マルチスレッド WCF サービスのスレッド数を制限したいと考えています。なので、ThreadPool.SetMaxThread
関数を使います。System.Timers
今、特定の間隔でイベントを生成するために使用したいと思います。
しかし、その間、私のサービスはスレッドプールで実行する多くのアクションを受け取ります。タイマーが経過すると、アクションが ThreadPool のキューに入れられるため (期待されるタスクが 100,000 になることもあります)、実行が遅くなります。
以前に経過したイベントを実行する方法はありますか? たとえば、スレッドプールにキューに入れられた優先タスクを設定することによって?または、スレッドプールの外でイベントが経過しましたか?
サービス内のスレッドのグローバル制限を維持したいと考えています。