直接上代码

1.主程序

public class TestMain {public static void main(String[] args) throws NSQException, TimeoutException {ExecutorService pool = Executors.newCachedThreadPool();// http请求PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();cm.setDefaultMaxPerRoute(800);// 设置每个路由基础的连接cm.setMaxTotal(1000);//设置最大连接数//cm.setMaxPerRoute(new HttpRoute(httpHost), maxRoute);// 设置目标主机的最大连接数CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(cm).build();for (int i = 0; i < 1000; i++) {TestRunnable tmp = new TestRunnable(httpClient);new Thread(tmp).start();}}
}

2.线程使用httpclient进行post请求,其中调用的post请求具体实现已经做了封装,可参考我之前的文章

class TestRunnable implements Runnable {private final CloseableHttpClient httpclient;public TestRunnable(CloseableHttpClient httpClient) {this.httpclient = httpClient;}@Overridepublic void run() {String id = "444";String name = "testName";Map<String, String> param = new HashMap<String, String>();param.put("id", id);param.put("name", name);String result = HttpClientUtil.doHttpPost("http://ip:port/testapi", param,httpclient);System.out.println(result);}}

转载于:https://www.cnblogs.com/JoeyWong/p/9056346.html

使用PoolingHttpClientConnectionManager解决httpclient的多线程请求问题相关推荐

  1. 如何解决httpclient调用https请求报错

    public static CloseableHttpClient getClient() {SSLContext sslContext = null;try {sslContext = new SS ...

  2. 《HttpClient官方文档》2.4 多线程请求执行

    2.4.多线程请求执行 当HttpClient拥有类似PoolingClientConnectionManage类这样的池连接管理器,它就能够使用多线程来并发执行多个请求. PoolingClient ...

  3. httpClient多线程请求

    使用httpClient可模拟请求Url获取资源,使用单线程的请求速度上会有一定的限制,参考了Apache给出的例子,自己做了测试实现多线程并发请求,以下代码需要HttpClient 4.2的包,可以 ...

  4. HttpClient在多线程环境下踩坑总结

    HttpClient在多线程环境下踩坑总结 问题现场 在多线程环境下使用HttpClient组件对某个HTTP服务发起请求,运行一段时间之后发现客户端主机CPU利用率呈现出下降趋势,而不是一个稳定的状 ...

  5. java httpclient form_Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)...

    public classHttpClientUtils {private final static Logger logger = Logger.getLogger(HttpClientUtils.c ...

  6. Java爬虫(二)-- httpClient模拟Http请求+jsoup页面解析

    博客 学院 下载 GitChat TinyMind 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye 写博客 发Chat 传资源 登录注册 原 Java爬虫(二)-- httpClient ...

  7. C#中通过HttpClient发送Post请求

    C#中HttpClient进行各种类型的传输 我们可以看到, 尽管PostAsync有四个重载函数, 但是接受的都是HttpContent, 而查看源码可以看到, HttpContent是一个抽象类 ...

  8. httpclient的post请求超时

    前两天做项目,使用httpclient的post请求超时,检查代码也没问题.后来偶然在看日志的时候才发现问题所在. 现象 当post请求的返回数据少的时候应用没问题.当post请求返回的数据量在deb ...

  9. HttpClient发送Https请求报 : unable to find valid certification path to requested target

    一.场景   近期在对接第三方接口时,通过HttpClient发送Https请求报 : unable to find valid certification path to requested tar ...

  10. Ionic3学习笔记(十三)HttpClient 实现 HTTP 请求以及踩过的一些坑

    本文为原创文章,转载请标明出处 目录 猫眼API HttpClient 实现 HTTP 请求 安装 HttpClientModule 模块 创建 provider 创建 page 一些坑 坑1: 未在 ...

最新文章

  1. DCS系统接地应用讨论
  2. 3D模型“换皮肤”有多简单?也就一句话的事
  3. 发现一位大佬的算法刷题笔记PDF
  4. python调用所有函数_python打印所有函数调用以了解脚本
  5. CSS3文本居中显示、圆形圆角绘制、立体阴影效果设置实例演示
  6. linux时间调整为dst,Linux上系统时间函数、DST等相关有关问题总结
  7. bootstrap+fileinput插件实现可预览上传照片功能
  8. linux 注销其它用户,linux下注销其它用户或者tty的命令
  9. java控制单元测试_java – 当单元测试控制器时,模拟一个Spring Validator
  10. html点击计数器的实现,点击计数器_Servlet 教程_w3cschool
  11. Xshell 登录 AWS CentOS 出现“所选择的用户秘钥未在远程主机上注册“,最终解决办法!...
  12. Git 笔记——如何处理分支合并冲突
  13. GridView选中,编辑,取消,删除代码
  14. 2022年C语言教程入门和最新C语言自学教程C语言进阶教程大全
  15. AutoJs 4.1.1 实战教程
  16. 未转变者入侵服务器后台,未转变者(unturned)联机服务器创建方法
  17. 租房退租时,房东不退押金怎么办?
  18. 试用期没到辞职有工资吗?
  19. 网线简介及交换机原理和模式浅谈
  20. Steam上不去商店和社区的方法 / SteamCommunity 443/80端口被占用报错解决办法

热门文章

  1. XXL-JOB 针对未授权访问导致远程命令执行漏洞的声明
  2. Error: Cannot find module 'chalk' 或Cannot find module 'semver'报错
  3. 无法保存关闭文件 苹果电脑 显示正在保存_??Linux文件编辑 - 给你骨质唱疏松
  4. python join用法
  5. PHP API微信网页授权接口实现
  6. php解析html类库simple_html_dom(2)
  7. 欢迎给吾博客评分:如果遇见且有帮助,请帮忙打分
  8. 全网首发:编译jna:dispatch.h:30:34: fatal error: com_sun_jna_Function.h: 没有那个文件或目录
  9. 搞乱别人精美的代码,一点数没有?
  10. 多个so合并为一个so的思路