Нужно вернуть json в котором находятся ссылки 5000+ файлов. Cоздаю модель
ModelAndView modelAndView = new JsonHelper().createModelAndJson(url);
return modelAndView;
В классе JsonHelper
создается поток, в котором содержится List файлов и заполняется модель файлами.
public ModelAndView createModelAndJson(String url) {
JsonThread jsonThread = new JsonThread(url);
Thread mainThread = new Thread(jsonThread);
mainThread.start();
try {
mainThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
return jsonThread.getModelAndView();
}
Поиск файлов так же идёт в потоках дальше. В итоге показывает всё корректно, но одновременного выполнения нет у первого потока, все остальные потоки отрабатывают параллельно и показывают результат сразу. Т.е первый созданный запрос работает отдельно от остальных и их запуск тормозит.
Метод join
блокирует выполнение текущего потока до тех пор, пока mainThread
не завершит работу. Таким образом выполнение вашего кода является последовательным.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть строка типа "дом15/2"Каким образом можно найти границу между буквами и цифрами и поставить туда пробел
Какие есть важные отличия API level < 11 и API level > 11