Здравствуйте! Возник такой вопрос. Как правильно отправлять N (N > 100) get-запроcов в секунду на указанный url?
Для решения этой задачи я испольховал ExecutorService i CountDownLatch.
CountDownLatch latch = new CountDownLatch(DEFAULT_LATCH_COUNT);
for (int i = 0; i < requestNumber; i++) {
executor.submit(RequestFactory.getInstance().createRequester(latch, url));
}
latch.countDown();
Но проблема в том что для каждого нового запроса я создаю новый поток(как отправить асинхронно по другому не знаю) и делаю await(), а после того как создано достаточное кол-во потоков - продолжаю их работу одновременно. По скольку время ожидания ответа сервера может быть разным, количество потоков растет и в конце концов может привести к окончанию памяти.
Подскажите есть ли варианты сделать это другим способом ?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хотелось бы обработать нажатие мыши не только в своем приложении, но и глобальноЕсть такой код :
Вопрос заключается в следующем: я реализовал SearchView в ToolBar, при этом в активности нет элемента ListViewНа ней расположены 10 кнопок с картинками
Нужно реализовать метод без использования parseIntПодскажите основной алгоритм как это сделать ?
Есть приложение, написанное на Spring BootДля сборки используется gradle