请选择 进入手机版 | 继续访问电脑版

java如何使用多线程技术,去访问一个受限制的接口(1)

[复制链接]
谢世民 发表于 2021-1-1 17:46:22 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
场景1:微信发送推文的时候,我公司是有百万级别的数量用户关注,所以这边是需要举行多次操纵,停顿才气把推文发送到差别的用户上(微信关注公共号上都会被长期化记载)
场景 2: 工作中,遇到了发送微信推送公众号的功能,但是由于http的限制,如果频仍的访问相关的微信接口那么会造成每次请求过多导致失败,所以我们不能每一次使用单个线程去调用微信受限制的路由地点**
办理思路(场景1): 优先使用多线程,单个线程可以举行业务方法(接纳 extend thread的形式 )
办理思路(场景2): 由于调用微信接口会导致受限制失败,我们可以使用毗连池的形式,确保了每次毗连的最大毗连数.而不会产生新的实例,导致微信接口检测,请求过多而失效问题(使用spring的restTemplate单例毗连池,举行放入多个http相关的信息,一起发送到微信路由地点)
设置多线程实例 :
  1. public class Test3 extends Thread {    private volatile String smSpToken;    private List openids;    private int startnum;    private RestTemplate bean = SpringContextUtil.getBean(RestTemplate.class);    private WeChatTokenService weChatTokenService = new WeChatTokenService();    public Test3(List openid, String smSpToken, int startnum) {        this.openids = openid;        this.smSpToken = smSpToken;        this.startnum = startnum;    }    public Test3() {    }    @Override    public void run() {        sendMpText3(smSpToken, openids);    }
复制代码
线程举行创建的类
[code]for (int i = 0; i < allUser.size(); i++) {            //需要跳过的数据            if(i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )