1、同步转异步,单条转批量

2、异步线程获取数据

关于Future同步、异步获取线程执行结果分析_红鲤鱼与彩虹的博客-CSDN博客

多任务并行、利用CompletionService计算任务执行结果的和,并优先获取最快执行完毕的任务返回值,使用于无访问顺序的代码。

import java.util.concurrent.*;/*** 多任务,用时最小,利用completionService实现** 与 invokeAll不同的是,* CompletionService.take().get()通过消息队列生产-消费模式获取最先执行完的结果,不会按提交顺序获取结果*/
public class MultiTaskCompletionService {public static void main(String[] args) {ThreadPoolExecutor executor = new ThreadPoolExecutor(10,20,100,TimeUnit.SECONDS,new LinkedBlockingQueue<>(100),new ThreadPoolExecutor.AbortPolicy()); //拒绝策略CompletionService<Integer> service = new ExecutorCompletionService<>(executor);long start = System.currentTimeMillis();for (int i =3;i>0;i--){service.submit(new Task(i));}int sum=0;for (int i =0;i<3;i++){try {int value = service.take().get();System.out.println("第"+i +"个返回的任务id是:" + value);sum+=value;} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}}System.out.println(sum);System.out.println(System.currentTimeMillis()-start);}
}

3、阻塞队列压测性能比较

Java线程池实验:ArrayBlockingQueue和LinkedBlockingQueue性能测试_trigger333的博客-CSDN博客_arrayblockingqueue 性能

ArrayBlockingQueue 和 LinkedBlockingQueue 性能测试与分析_阿拉的梦想的博客-CSDN博客_blockingqueue 效率

Java多线程——并发测试 | HeapDump性能社区

结论:

队列设置长有利于提高并发,目前1w他长度还行。

ArrayBlockingQueue 要比LinkedBlockingQueue 效率高。

当线程增加到cpu的个数的时候,吞吐率会达到顶峰,然后再增加线程吞吐率不生反而下降,当然没有很大的下降,这是因为,当线程增多的时候,大部分时间耗费在阻塞和解除阻塞上面了。

4、提高接口性能方法

聊聊接口性能优化的11个小技巧 | HeapDump性能社区

springboot使用多线程处理高并发接口相关推荐

  1. SpringBoot实现Java高并发秒杀系统之DAO层开发(一)

    SpringBoot实现Java高并发秒杀系统之DAO层开发(一) 秒杀系统在如今电商项目中是很常见的,最近在学习电商项目时讲到了秒杀系统的实现,于是打算使用SpringBoot框架学习一下秒杀系统( ...

  2. SpringBoot实现Java高并发秒杀系统之Service层开发(二)

    继上一篇文章:SpringBoot实现Java高并发秒杀系统之DAO层开发 我们创建了SpringBoot项目并熟悉了秒杀系统的表设计,下面我们将讲解一下秒杀系统的核心部分:Service业务层的开发 ...

  3. java接口并发衡量_java 后端设计高并发接口总结

    如何设置高并发接口 一.并发队列的选择 二.请求接口的合理设计 三.高并发下的数据安全 3.1 超发的原因 3.2 悲观锁思路 3.3 FIFO队列思路 3.4 乐观锁思路 一.并发队列的选择 Jav ...

  4. SpringBoot+Netty构建高并发稳健的部标JT808网关

    应很多朋友的要求,今天分享一下如何使用SpringBoot和Netty构建高并发稳健的JT808网关,并且是兼容JT808-2011和JT808-2019的网关,此网关已经有多个客户在商用. JT80 ...

  5. 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完,快要裂开了!

    都说程序员工资高.待遇好,改变无数程序员职业生涯的金三银四已来,你的小目标是 30K.40K,还是 16 薪的 20K?作为一名 Java 开发工程师,当能力可以满足公司业务需求时,拿到超预期的 Of ...

  6. 彻夜怒肝!SpringBoot+Sentinel+Nacos高并发已撸完

    又到了"金三银四"面试求职高峰期,在金三银四时也参与过不少面试,2021都说工作不好找,也是对开发人员的要求变高.前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成 ...

  7. springboot 实现redis高并发抢票服务

    第一步:添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...

  8. 最好的netcore 代码生成器,关系型数据库高并发,接口API 西部高并发解决方案SmartSoftHelp

    SmartSoftHelp 极简,极速,极致 下载地址https://pan.baidu.com/s/1t0ygDseBCM2VZYJ5fM-ZNg?pwd=8f34 关系型数据库高并发接口代码生成\ ...

  9. 电商那些年,我摸爬打滚出的高并发架构实战精髓

    一.关于高并发 高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11.双12,就会产生高并发.又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩LOL ...

最新文章

  1. ICE专题:ICE起步
  2. uefi多linux系统启动盘,DIY制作无需格BIOS+UEFI双启动U盘工具|支持syslinux+grub+boomgr+grub2多启动...
  3. powershell 常用命令笔记
  4. 点云 高斯 曲率matlab,计算三维散乱点云的曲率,包括主曲率,高斯曲率和平均曲率...
  5. 老板必须亲自抓销售,公司越小越如此
  6. sscanf 与 sscanf_s的区别
  7. JAVA EE 课程目标
  8. ARRI阿莱MXF修复方法
  9. 针对英特尔xtu超频软件安装失败以及英伟达GeForce Experience安装程序无法继续的解决方法
  10. 管家婆辉煌II盘点功能操作流程
  11. 关于瀚高数据库的适配
  12. Youtube上播放量前100的单曲整理
  13. 智慧医疗管理系统解决方案:医药电商系统实现智能化改造
  14. 移动用户体验设计:iOS APP体验设计
  15. cannot reach adb server, attempting to reconnect.
  16. 什么A股,B股,H股?什么是红筹股,蓝筹股
  17. 00005在java结果输出_浅谈Java反序列化漏洞原理(案例未完善后续补充)
  18. c语言gl函数,R语言:gl()函数
  19. c语言数字1 9转换英文,C语言提问:将一个月份数字转换成月份的英文名称
  20. socket接收与发送缓冲区大小

热门文章

  1. Android实现沉浸式状态栏(透明状态栏)(QQ和简书样式)
  2. 全民打怪兽6星英雄大推荐之 食梦魔女·莉莉丝~不错的女英雄
  3. Hive学习笔记三之函数操作
  4. 甘肃安全员B证怎么考单选题库
  5. Java中List初始化
  6. TextView实现点击部分文字跳转,实现微信朋友圈评论Item的显示效果
  7. 什么是 SYN 攻击?如何避免 SYN 攻击?
  8. java项目横向越权_横向越权、纵向越权问题解决
  9. 手持巡检仪_专业点检仪——手持式巡检仪
  10. ubuntn系统中ssh安装,使用Systemback打镜像出现please remove the installation medium then press enter,丢失安装及拷贝的文件