Как получить http ответы на несколько запросов в порядке их получения - PullRequest
0 голосов
/ 26 мая 2019

В моем приложении есть примерно 15 потоков, каждый из которых отправляет http-запрос конечной точке API каждые 15 секунд;имеется в виду около 1 запроса в секунду.Эти потоки должны работать бесконечно и должны быть созданы только один раз.Я не уверен, как непрерывно получать ответы в главном потоке, чтобы их можно было проанализировать и обработать.Пытаясь исследовать эту проблему, я нашел несколько структур, которые выглядят так, как будто они могут помочь;ScheduledExecutorService, NIO, Grizzly, AHC.Но я парализован количеством опций и не уверен, что реализовать.

Моя главная цель для каждого из 15 запросов - отправлять запрос самостоятельно каждые 15 секунд иполучить ответ в основном потоке, как он поступает.

1 Ответ

0 голосов
/ 26 мая 2019

Для такой простой задачи специальных рамок не требуется.Просто создайте экземпляр BlockingQueue (ArrayBlockingQueue выглядит лучшим выбором).Каждый сетевой поток вызывает queue.put(response), а основной поток делает response=queue.take() в цикле.

...