いつでも (キューを使用して) 7 つの同時スレッドを実行する固定スレッド プールがあり、それを 7 つの同時ジョブのみを実行するが、より多くのキュー/スケジュールを設定できるスケジュールされたスレッド プールに変換したいと考えています。
ドキュメントを読んでも、あまり役に立ちませんでした..
public static ExecutorService newFixedThreadPool(int nThreads)
無制限の共有キューで動作するスレッドの固定セットを再利用するスレッド プールを作成します。シャットダウン前の実行中に障害が発生していずれかのスレッドが終了した場合、後続のタスクを実行する必要がある場合は、新しいスレッドが代わりに使用されます。
パラメータ: nThreads - プール内のスレッド数 戻り値: 新しく作成されたスレッド プール
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
指定された遅延後にコマンドを実行するか、定期的に実行するようにコマンドをスケジュールできるスレッド プールを作成します。
パラメータ: corePoolSize - アイドル状態であっても、プールに保持するスレッドの数。戻り値: 新しく作成されたスケジュールされたスレッド プール
私が理解していないのは、corePoolSize と nThreads は同じものですか? スケジュールされたスレッド プールは本当に固定スレッド プールのサブセットですか? つまり、スケジュールされたスレッド プールを遅延タスクをキューに入れることができる固定スレッド プールとして使用できますか?