私が開発するソフトウェアが大きく複雑になり、そのさまざまな部分で独自の方法でエグゼキュータが使用されることは、私の実践では珍しいことではありません。パフォーマンスの観点からは、各部分で異なるスレッドプール構成を使用することをお勧めします。ただし、保守性とコードの使いやすさの点から、スレッド、同時実行性、およびCPU使用率に関連するすべてのものが、一元化された場所に保持および構成されていると、より望ましいでしょう。
同時実行またはスケジューリングが必要な各クラスに独自のスレッドプールを作成させることは、ライフサイクルとスレッドの総数を制御することが難しいため、OKではありません。
ある種のExecutorManagerを作成し、アプリケーションの周りに1つのスレッドプールを渡すこともOKではありません。タスクのタイプと送信率によっては、作業キューとスレッドプールサイズの不適切に構成された組み合わせがパフォーマンスに悪影響を与える可能性があるためです。
したがって、問題は、この問題に対処するいくつかの一般的なアプローチがありますか?