Один пул потоков против одного пула потоков на задачу
Я хочу использовать параллелизм в Java для отправки запросов к онлайн-API, загрузки и анализа документов ответов и загрузки полученных данных в базу данных.
Стандартно ли иметь один пул потоков, в котором каждый поток запрашивает, анализирует и загружает? Другими словами, только один класс реализуетRunnable
, Или более эффективно иметь, скажем, три различных пула потоков, причем первый пул потоков выполняет запросы и помещает их в очередь, второй пул потоков опрашивает из первой очереди, анализирует и отправляет проанализированные данные во вторую очередь и, наконец, в третий пул, опрашивая данные из второй очереди и загружая в базу данных? В этом случае я бы написал три разных класса, которые реализуютRunnable
.