Преимущества использования Fixed Thread Executor по сравнению с другими ExecutorService:
- Ограничение максимального количества параллельных потоков. 3 В любое время для обработки задач будет активно не более определённого количества потоков (n). 23 Если передано более n задач, они будут удерживаться в очереди до момента, пока потоки не освободятся. 2
- Замена завершивших работу потоков. 2 Если в работе одного из потоков произойдёт сбой и он завершит свою работу, будет создан новый поток на место сломанного. 2
- Фиксированный размер пула потоков. 4 При высокой нагрузке он не будет расти, а если потоки какое-то время бездействуют, не уменьшится. 4
Fixed Thread Executor рекомендуется использовать, когда не нужно, чтобы приложение потребляло все доступные потоки в системе, или когда нужно запустить приложение в режиме ограниченной параллельности (контролируемой количеством потоков в пуле). 1