springboot 使用 httpclient 多线程
时间: 2023-09-24 10:12:57 浏览: 61
可以通过在Spring Boot应用程序中使用Httpclient的多线程处理来提高请求处理速度。下面是一个使用Httpclient进行多线程处理的示例代码:
```
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class HttpClientMultiThreadExample {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(10); //线程池中的线程数为10
HttpClient httpClient = HttpClientBuilder.create().build();
for (int i = 0; i < 100; i++) { //发送100个请求
final int count = i;
executorService.submit(() -> {
String url = "http://example.com/api/" + count; //构造请求的URL
HttpGet httpGet = new HttpGet(url);
try {
httpClient.execute(httpGet); //发送请求
} catch (Exception e) {
e.printStackTrace();
}
});
}
executorService.shutdown();
}
}
```
在上面的示例中,我们使用HttpClient创建了一个可重用的HttpClient对象,并创建了一个固定大小为10的线程池。然后我们循环发送100个请求,每个请求都在一个单独的线程中执行。在线程中,我们使用HttpClient发送HTTP GET请求并处理异常。最后,我们关闭线程池。