Два разных исполнителя - PullRequest
0 голосов
/ 27 июня 2019

Я получаю информацию с сайта, используя HttpURLConnection. Я использую Async Task и Executors.newScheduledThreadPool. У меня есть два разных исполнителя. Правильно ли иметь разные пулы потоков? Я спрашиваю, потому что я вижу, что мой второй исполнитель обычно выполняет все запланированные runnables одновременно. Я также использую shutdownNow.

executor = Executors.newScheduledThreadPool(2);
executorHandle = executor.schedule(refresh,1,TimeUnit.SECONDS);

executor2 = Executors.newScheduledThreadPool(2);
executorHandle2 = executor2.schedule(refresh2,1,TimeUnit.SECONDS);
if(executor2!=null)
   executor2.shutdownNow();

Могу ли я одновременно запустить двух исполнителей?

1 Ответ

0 голосов
/ 27 июня 2019

Да.Несколько служб исполнителя могут быть запущены одновременно.Если ресурсов достаточно.

Служба исполнителя выполняет основную задачу обработки задания.Наличие двух служб executor означает, что мы можем обрабатывать несколько наборов заданий одновременно.

У нас должно быть несколько служб Executor, только если мы думаем, что у каждого из них есть собственная нагрузка для совместного использования.Согласно приведенному выше примеру есть 4 потока, которые делают работу.Это также может быть достигнуто за счет того, что одна служба-исполнитель порождает 4 потока.

...