Я пишу довольно сложное серверное Java-приложение, которое имеет значительную часть фоновой обработки в дополнение к обычной обработке запроса-ответа. Часть фоновой обработки выполняется в стиле cron с использованием фреймворка Quartz. Другие задачи больше выполняются по запросу - если подключается новый клиент, он создает дополнительную работу для его обновления время от времени. Задачи cron также могут быть разнообразными — одни занимаются мониторингом внешних приложений, другие подсчитывают статистику и так далее.
Я использую несколько пулов потоков для запуска всех этих заданий с идеей, что похожие задания будут совместно использовать пул потоков, но разные задания не будут совместно использовать его. Например, задания мониторинга никогда не будут выполняться в пуле статистики, а задания статистики никогда не будут выполняться в пуле мониторов.
С другой стороны, я знаю, что некоторые люди предпочли бы просто иметь один пул потоков и запускать в нем все без какого-либо разделения.
Интересно, что считается лучшей практикой в таком сценарии.
Каковы плюсы и минусы разделения пулов потоков?
Это даже имеет значение?