当前位置: 首页 > news >正文

java创建线程池去实现某个任务(多线程)

java创建线程池去实现某个任务(多线程)

1.ThreadPoolExecutor创建线程池的完整Java示例代码,包含核心参数配置和基本使用方法:
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
corePoolSize, //核心线程数(corePoolSize)=15:线程池保持的最小线程数
maxPoolSize, //最大线程数(maximumPoolSize)=30:线程池允许创建的最大线程数
keepAliveTime, //空闲线程存活时间(keepAliveTime)=0毫秒:非核心线程空闲时立即回收
TimeUnit.SECONDS, //
workQueue, //任务队列(workQueue)=容量512的LinkedBlockingQueue:用于存放待执行任务
new ThreadPoolExecutor.AbortPolicy() // 拒绝策略
);
2.代码实例

public static void main(String[] args) {ExecutorService threadPool = new ThreadPoolExecutor(15, //线程池保持的最小线程数30, //线程池允许创建的最大线程数0L, //空闲线程存活时间(keepAliveTime)=0毫秒:非核心线程空闲时立即回收TimeUnit.MILLISECONDS,new LinkedBlockingQueue<>(512), //任务队列(workQueue)=容量512的LinkedBlockingQueue:用于存放待执行任务new ThreadPoolExecutor.AbortPolicy());//拒绝策略try {//方式1for (int i = 0; i < 20; i++) {final int taskId = i;threadPool.execute(() -> {System.out.println("执行任务: " + taskId + " 线程: " + Thread.currentThread().getName());try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}});}//方式2for (Taskinfo taskObj: taskinfoLst) {threadPool.execute(new Runnable() {@Overridepublic void run() {//执行任务方法(taskObj);context.getTaskManager().executeMothod(taskObj);}});}} catch (Exception e2) {// TODO: handle exception}finally {threadPool.shutdown();}}}
http://www.hskmm.com/?act=detail&tid=14467

相关文章:

  • 20250827_黔西南网信杯_丢失的数据
  • 敏捷已死?2025年项目管理软件支持的混合管理模式正成为新主流!
  • 螺旋矩阵-leetcode
  • 【第十一章】Python 调用 MySQL 全面指南:从基础到实践​ - 实践
  • 开源中国社区:AI驱动下的开发者生态革命
  • 日志清理脚本模板 - 一叶舟
  • 11.备库出现gap处理方法
  • [原创]《C#高级GDI+实战:从零开发一个流程图》第10章:鼠标拖动完成连线、拖动时实时显示半透明虚线连线效果、自定义连接点样式
  • 修改Abp中Auto API Controllers中 默认生成的 Put、Delete请求
  • 电阻-温度数据拟合工具(最小二乘法)
  • delphi clientdataset 中文过滤问题
  • 基于 systemd 的 Go 应用自动化部署完整指南
  • 马来西亚股票数据API对接文档
  • [OpenGL]相机环境
  • 指令流水线的影响因素
  • Gitee本土化创新实践:中国企业研发效能提升的新引擎
  • 画面拼接后推流/64路画面同时拼接到一路流/指定程序窗口采集推流/另一种解决方案
  • Markdown的基本语法
  • 工业级CAD数据优化工具:PiXYZ Studio 2025 图文安装指南
  • BIM建模利器 Tekla Structures 2025 全流程安装指南
  • containerd离线安装
  • (转)使用 Embarcadero Delphi FMX 应用程序实现多点触控
  • 百度云服务ubtuntu安装docker
  • ubuntu安装mysql8并切换数据存储目录
  • WCF-双工通讯
  • 跨网文件安全交换系统:打破数据壁垒的高效之选!
  • 【F#学习】可区分联合 Discriminated Unions
  • Midscene.js - 开源的 AI 操作助手 - 广东靓仔
  • 详细介绍:【Datawhale25年9月组队学习:llm-preview+Task1:大模型介绍与环境配置】
  • Git仓库ssh不同环境配置