问题描述
因此,我需要访问一个非常繁忙的站点,仅通过一个请求便无法访问该站点。
因此,我要使用Apache HttpClient或其他Java好的库对同一个网址提出多个请求,然后等待该站点的成功响应。 一旦请求获得成功的响应,线程中的所有其他请求都需要立即终止。
我该怎么做? 另外,如果还有其他可用于该任务的好的库,请告诉我。
1楼
我的建议是使用单线程,如果发生某些错误,请重试。 这样,您就不会淹没繁忙的站点。 这不会太慢,因为如果服务器繁忙,发出更多请求将不会给您带来任何好处。 如果您决定仍然使用多个线程(使用2),则所有线程都需要共享同一HTTP客户端:
CloseableHttpClient httpclient = createDefault();
收到成功的回复后,您必须致电
httpclient.close();
并停止所有线程。
close()
将终止所有连接(活动和非活动)。