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

java-----线程池

public class Test3 {public static void main(String[] args) throws IOException {//获取线程池对象ExecutorService pool = Executors.newCachedThreadPool();//提交任务pool.submit(new MyThread());pool.submit(new MyThread());pool.submit(new MyThread());pool.submit(new MyThread());//销毁线程池pool.shutdown();}}
public class MyThread implements Runnable {@Overridepublic void run() {for (int i = 0; i <= 100; i++) {System.out.println(Thread.currentThread().getName()+"----"+i);}}
}

线程池的配置

线程池的配置通常包括以下几个参数:

  • 核心线程数:线程池中保持的最小线程数。
  • 最大线程数:线程池中允许的最大线程数。
  • 任务队列:用于存放待执行任务的队列。
  • 线程空闲时间:当线程池中的线程数量超过核心线程数时,多余的空闲线程在终止前等待新任务的最长时间。
  • 拒绝策略:当任务队列已满且线程池中的线程数达到最大线程数时,如何处理新提交的任务。

 

自定义线程池:

public class Test3 {public static void main(String[] args) throws IOException {//获取线程池对象ThreadPoolExecutor poolExecutor=new ThreadPoolExecutor(3,//核心线程数量,不能小于06,//最大线程数,不能小于0,最大数量>=核心线程数量60,//空闲线程最大存活时间TimeUnit.SECONDS,//时间单位new ArrayBlockingQueue<>(3),//任务队列Executors.defaultThreadFactory()//创建线程工厂);}}

线程池的拒绝策略

常见的拒绝策略包括:

  • AbortPolicy:直接抛出异常,拒绝新任务。
  • CallerRunsPolicy:由提交任务的线程直接执行该任务。
  • DiscardPolicy:直接丢弃新任务,不抛出异常。
  • DiscardOldestPolicy:丢弃队列中最旧的任务,然后尝试重新提交新任务。
http://www.xdnf.cn/news/484939.html

相关文章:

  • MIMO 检测(3)--最大SINR准则(MRC、IRC)
  • 【Spark】-- DAG 和宽窄依赖的核心
  • Day27 Python打卡训练营
  • 《指针与整数相加减的深入解析》
  • asp.net自动保存上传文件时指定文件名,MultipartFormDataStreamProvider
  • Flask框架入门与实践
  • LangPDF: Empowering Your PDFs with Intelligent Language Processing
  • YOLO11解决方案之对象裁剪探索
  • 大模型崛起:从技术突破到产业变革的深度解析
  • 【node】中间件
  • MySQL基础面试通关秘籍(附高频考点解析)
  • Promise.all 详解
  • java后端学习
  • 高效率者的特点
  • 三毛电视 1.0 | 央视、卫视、港澳台频道高清秒播,支持多种播放模式和电视投屏
  • C#数组与集合
  • 启用rvzi可视化自己的机器人发现joint state publisher gui没有滑块
  • Python多线程实战:提升并发效率的秘诀
  • 面向复杂环境的高性能通信接口芯片技术解析与应用
  • onvif支持H265
  • AI日报 · 2025年05月16日|Google DeepMind推出AlphaEvolve,能自主设计高级算法的编码代理
  • NFS服务
  • 【洗车店专用软件】佳易王洗车店多项目会员管理系统:一卡多用扣次软件系统实操教程 #扣次洗车管理软件
  • AUTOSAR图解==>AUTOSAR_SWS_ICUDriver_AUTOSAR_SWS_ICUDriver
  • matlab求解问题
  • 14、Python时间表示:Unix时间戳、毫秒微秒精度与time模块实战
  • Day 27 函数专题2 装饰器
  • 读取toml, 合并,生成新文件
  • Apollo Client 1.6.0 + @RefreshScope + @Value 刷新问题解析
  • volatile关键字详解