Нужно вернуть 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 не завершит работу. Таким образом выполнение вашего кода является последовательным.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости