私は、しばらくしてアプリケーションの動作を停止したクライアントを支援しました (最終的には動作を再開しました)。
問題は、Task失敗したときにThread.Sleep(タスクで)5秒間使用されたことです。2 秒ごとに最大 800 のタスクがキューに入れられる可能性があるため、これらのジョブの多くが失敗して呼び出された場合の問題を想像できますThread.Sleep。それらのジョブはいずれも でマークされていませんでしたTaskCreationOptions.LongRunning。
私はタスクを書き直したので、Thread.Sleep(またはTask.Delayその点については)必須ではありませんでした。
TaskSchedulerただし、そのシナリオで(デフォルト)が何をしたかに興味があります。どのように、いつスレッド数を増やしますか?