栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Java 并发之线程池的使用(ThreadPoolExecutor)

Java 更新时间:发布时间: 百科书网 趣学号

文章目录
  • 前言
  • 一、Java 中的线程池
      • 阻塞队列
      • 拒绝策略
  • 二、使用场景
    • 场景一
    • 场景二
  • 参考资料

前言

"池化"是软件开发中的一种思想,比如常见的数据库连接池;在高并发场景下合理使用线程池能显著提高 CPU 运行效率,从而提升软件使用体验。

一、Java 中的线程池

JDK 1.5 版本起,在 java.util.concurrent 包下 Executors 类提供了创建线程池的方法

通过查看源码可以看到,内部均由 ThreadPoolExecutor 类进行实现


既然如此,我们就重点分析下 ThreadPoolExecutor 类的相关参数

参数说明
corePoolSize核心线程数
maximumPoolSize最大线程数
keepAliveTime存活时间
TimeUnit时间单位
BlockingQueue阻塞队列
ThreadFactory线程工厂
RejectedExecutionHandler拒绝策略
阻塞队列

拒绝策略

二、使用场景 场景一

快速响应用户请求:比如一个查询接口需要多次数据库查询操作,中间可能还存在系统间的网络请求服务,针对这种情况应使用不存储元素的阻塞队列,通过增加线程数,快速处理任务。

场景二

快速处理批量任务:比如后台系统中常见的 Excel 解析存储,批量数据入库等耗时操作,不追求快速响应结果的场景,

参考资料

Java线程池实现原理及其在美团业务中的实践

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/295140.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号