Насколько я могу судить, у вас должен быть свой URLConnection
для каждого URL (что имеет смысл, так как базовое сетевое соединение также должно меняться).Я серьезно сомневаюсь, что создание этого объекта - ваше узкое место;Я подозреваю, что это сетевое время, но без профиля это трудно узнать наверняка.
Для небольшого количества страниц я бы рассмотрел рабочую очередь (скажем, используя ExecutorService
).Для большого количества страниц я мог бы даже заглянуть в Java-версию Map / Reduce .
Редактировать: чтобы Map / Reduce была лучше, чем простая рабочая очередь, вам нужноиметь несколько компьютеров, доступных для очистки.