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

线程池

线程池使用

  • 最常用直接通过Executors工具快速床架,不需要手动配置参数,但是不推荐,阿里巴巴开发手册规定了不能使用Executors直接创建,有可能大量创建线程导致OOM
  • 手动创建的ThreadPoolExecutor需要指定7个核心参数

线程池参数

  • image

  • 线程核心数(长期维持的最小线程数),最大线程数,空闲线程存活时间,存活时间单位,任务阻塞队列(线程忙的时候,新任务就存储在这个地方),线程创建工厂(设置线程名以及优先级),拒绝策略(队列满且线程达到最大数),然后提交任务可以使用execute或者submit(能提交callable有返回值),使用shutdown()关闭线程池

拒绝策略

  • 有四种:直接抛异常,让提交任务的主线程自己执行,直接丢弃新任务,直接丢弃队列里面最久的任务,再提交新的任务

工作流程

  • 任务提交,线程池是否在运行,线程数是否小于核心数,小于的话增加线程,如果不小于看这个阻塞队列是否已满,如果没满添加到队列里,如果满了检查是否小于最大线程数,如果小于添加线程,如果满了执行拒绝策略

线程池的种类

  • ScheduledThreadPool:可以设置定期的执行任务,FixedThreadPool:他的核心线程数和最大线程数是一样的,CachedThreadPool:缓存线程池,特点是线程数几乎可以无限增加,线程闲置的时候可以回收,线程数量不固定,SingleThreadExecutor:使用唯一的线程去执行任务,但是线程数只有一个
http://www.jsqmd.com/news/71128/

相关文章:

  • AI 学习机真能提分吗?2025 年首选推荐 科学选购指南 - 品牌测评鉴赏家
  • linux vrf icmp reply /vrf icmp 响应错误消息
  • 常见八大排序算法介绍(冒泡排序、插入排序、归并排序、计数排序、选择排序、快速排序、堆排序、希尔排序)
  • 自媒体怎么做到批量自动发文?亲测AI智能媒体助理更稳定
  • 第五十天
  • Ansible学习----管理复杂的 Play 和 Playbook 内容 - 教程
  • day3 Java基础
  • Typora最后的免费版本
  • 解决 Chrome 下载 `.crx` 文件被自动删除及“无法安装扩展程序,因为它使用了不受支持的清单版本”难题
  • 多平台批量发布文章的软件哪个好?我选AI智能媒体助理的原因
  • 你的接口很好,但在使用者眼里,它可能只是个打不开的黑盒
  • 第五十一天
  • python —— 满二叉树的构建
  • 2025 最新箱包五金配件厂家 TOP5 评测!高端定制 + 全链服务权威榜单发布,技术赋能重构箱包五金生态 - 全局中转站
  • 1010000
  • 完整教程:Prefix-Tuning:大语言模型的高效微调新范式
  • PPT: Pre-trained Prompt Tuning - 预训练提示调优详解 - 教程
  • python —— 使用hash函数实现类似字典功能的值的存取操作
  • 2025 最新不锈钢五金厂家TOP5 评测!技术赋能 + 品质保障权威榜单发布,匠心打造高端五金解决方案 - 全局中转站
  • 1001110
  • 1001000
  • 1001010
  • 1001100
  • 1001001
  • 1001101
  • 1000010
  • 1001111
  • 1000111
  • 1000100
  • 字符串转换