【发布时间】:2014-02-28 16:41:38
【问题描述】:
我正在尝试使用Apache HttpComponents library 下载许多文件。
使用同一个 HttpClient 分别下载文件。
但我只得到第一个。当我使用调试器时,程序一直被这条指令阻塞
HttpResponse response = httpClient.execute(httpGet);
我正在使用 ExecutorService 在单独的线程上下载文件:
ExecutorService pool = Executors.newSingleThreadExecutor(); pool.submit(new FileDownloader(httpClient,URL1)); pool.submit(new FileDownloader(httpClient,URL2)); pool.shutdown(); pool.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
编辑
当我使用单独的 httpClient 时它可以工作。
有什么想法吗?
【问题讨论】:
-
粘贴更多代码,以及 GET 的 url
-
数据这么少的第一个猜测:阻塞 I/O。也许您需要为每个请愿创建一个线程
标签: java httpclient