当前位置: 首页 > 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.zskr.cn/news/10112.html

相关文章:

  • 敏捷已死?2025年项目管理软件支持的混合管理模式正成为新主流!
  • 开源中国社区:AI驱动下的开发者生态革命
  • 日志清理脚本模板 - 一叶舟
  • [原创]《C#高级GDI+实战:从零开发一个流程图》第10章:鼠标拖动完成连线、拖动时实时显示半透明虚线连线效果、自定义连接点样式
  • 马来西亚股票数据API对接文档
  • [OpenGL]相机环境
  • HT-SC4PS-33+:小功分大胃口,300 MHz-3 GHz全场通吃
  • 画面拼接后推流/64路画面同时拼接到一路流/指定程序窗口采集推流/另一种解决方案
  • 软件开发 --- 快速部署web
  • BIM建模利器 Tekla Structures 2025 全流程安装指南
  • 百度云服务ubtuntu安装docker
  • ubuntu安装mysql8并切换数据存储目录
  • Create lv of type vdo on RHEL8 9
  • Notepad++ 最新破解版下载及安装使用教程
  • 详细介绍:【Datawhale25年9月组队学习:llm-preview+Task1:大模型介绍与环境配置】
  • Git仓库ssh不同环境配置
  • 超大附件怎么发送的高效解决方案与技巧
  • dm sql 缓存区
  • 给国外传输大文件的最佳策略与解决方案
  • idea mvn package 报错java head space/ java.lang.OutOfMemoryError: Java heap space
  • 第四届云计算、大数据应用与软件工程国际学术会议(CBASE 2025)
  • Neo4j常用的语句记录
  • 常用的 HTTP 请求方法和区别
  • 安全向量模板类SiVector - 实践
  • 最佳三维文件格式,以及怎么在线浏览编辑FBX/OBJ/GLB/GLTF
  • ChatGPT 在招聘诈骗领域的应用
  • FR报表下拉框高度(JS添加css样式方式)调整
  • 领码优秀的方案|Spring Boot 异步请求深度剖析:从原理到 AI 驱动的吞吐量优化
  • 理解WPF Stylet中Command={s:Action 方法名}的设计与实现
  • 帆软报表下拉框高度(JS添加css样式方式)调整