Я создал программу Java, которая может загружать один файл с использованием URL-адреса, однако теперь я хочу, чтобы он загружал несколько файлов, используя несколько потоков. Могу ли я использовать один и тот же метод и перебирать список URL-адресов для получения файлов? Или кто-нибудь может порекомендовать путь для этого?Java-загрузчик - загрузка нескольких файлов
ответ
Вы могли бы использовать что-то вроде этого:
void download(URL url){
...
}
void downloadAll(URL[] urls){
for(URL url : urls){
Thread t = new Thread(() -> download(url));
t.start();
}
}
EDIT:
Как @LouisF. упомянутый рекомендуемый способ решить эту проблему - Executors
. Таким образом, вместо простого примера с использованием Thread
с, это было бы более правильным, но Aswell немного более сложный подход:
ExecutorService service = Executors.newChachedThreadPool();
for(URL url : urls)
service.submit(() -> download(url);
Я не совсем понимаю, что вы подразумеваете под этим, извините, это создает поток, он делает что-нибудь еще? –
@ b.d Идея состоит в том, чтобы просто обернуть программу для загрузки файлов в отдельный метод, который требует только самых основных параметров и запускает этот метод из потока. Я оставил вам саму программу загрузки. Остальное - это самый распространенный способ решить эту проблему параллельного выполнения. – Paul
Нельзя использовать Thread напрямую, но больше исполнителей и задач. Вы можете обратиться к пункту 68 эффективного Java (2-го издания) и этой ссылке http://baptiste-wicht.com/posts/2010/09/java-concurrency-part-7-executors-and-thread-pools.html для пример –
- 1. Загрузка нескольких файлов ASP.NET
- 2. Vaadin - Загрузка нескольких файлов
- 3. Загрузка нескольких файлов swf
- 4. Загрузка нескольких файлов свойств
- 5. Загрузка нескольких файлов Asp.Net
- 6. Загрузка нескольких файлов
- 7. Загрузка нескольких файлов Dex
- 8. Загрузка нескольких файлов Blueimp
- 9. AFNetworking загрузка нескольких файлов
- 10. Загрузка нескольких файлов
- 11. Загрузка ошибки нескольких файлов;
- 12. Загрузка нескольких файлов: массив
- 13. Загрузка нескольких файлов одновременно?
- 14. Загрузка нескольких файлов Codeigniter
- 15. Загрузка нескольких файлов Angularjs
- 16. Загрузка нескольких/больших файлов
- 17. Загрузка нескольких файлов JQuery
- 18. C# Загрузка нескольких файлов
- 19. HttpWebResponse загрузка нескольких файлов
- 20. PHP - Загрузка нескольких файлов
- 21. PHP-загрузка нескольких файлов с использованием нескольких входов нескольких файлов
- 22. Загрузка нескольких файлов и обработчик
- 23. Загрузка нескольких файлов в SugerCRM
- 24. Загрузка нескольких файлов в Android
- 25. Загрузка нескольких файлов в grails
- 26. Загрузка нескольких файлов в Grails
- 27. Загрузка нескольких файлов в FLEX
- 28. Загрузка нескольких файлов в PIG
- 29. java.lang.UnsatisfiedLinkError - загрузка нескольких файлов lib?
- 30. Загрузка нескольких файлов через ASP
Не могли бы вы опубликовать соответствующие части кода таким образом, мы можем увидеть, если она может быть использована в многопоточный путь? – SaschaM78
Ваш вопрос слишком широк. Опубликуйте код, который у вас уже есть, и покажите, где именно вы застряли. Никто не собирается писать его для вас, все, что вы можете получить, это советы, и только если вы предоставите достаточную информацию. –