私はかなり複雑な Java サーバー アプリケーションを作成しています。このアプリケーションには、通常の要求応答処理に加えて、重要なバックグラウンド処理部分があります。バックグラウンド処理の一部は、Quartz フレームワークを使用して cron のような方法で実行されます。他のタスクはよりオンデマンドです。新しいクライアントが接続すると、時々更新するための追加のジョブが作成されます。cron タスクもさまざまです。外部アプリケーションの監視を行うものもあれば、統計を計算するものもあります。
同様のジョブはスレッド プールを共有するが、別のジョブはスレッド プールを共有しないという考えで、これらすべてのジョブを実行するために多数のスレッド プールを使用しています。たとえば、モニター ジョブが統計プールで実行されることはなく、統計ジョブがモニター プールで実行されることもありません。
一方で、1 つのスレッド プールだけを持ち、分離せずにすべてをその上で実行することを好む人もいます。
そのようなシナリオでベストプラクティスと見なされるのは何だろうか。
スレッドプールを分離することの長所と短所は何ですか?
それも問題ですか?