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

线程池基础知识

线程池

1.什么是线程池?

线程池:线程池是一个容器,提前保存大量线程资源,以备不时之需。就是提前创建一批线程,当有任务时选个线程执行任务

2.线程池工作原理?

线程池可以设置,核心线程数,最大线程数,非核心线程空闲存活时间,任务队列,拒绝策略拒绝策略等,当有任务时先是核心线程进行工作,若还有任务没有执行,会进入等待队列,等待队列若满了,会创建非核心线程执行任务,如果线程数达到最大,则会执行拒绝策略。

3.线程池的核心参数

核心线程数,最大线程数,非核心线程空闲存活时间,任务队列,拒绝策略,非核心线程空闲存活时间单位。

4.线程池的核心参数怎么设置?

核心线程参数是不固定的,项目的并发高低决定着怎么设置核心线程参数,

核心线程数:常规任务:cpu核心数+1

io密集型:两倍的cpu的核心数

最大线程数:根据负载和任务突发量设置(通常是corePoolSize的2倍)

非核心线程空闲回收时间:突发流量场景:30s~60s 稳定流量:0(不回收核心线程)

workQueue:选择有界队列避免OOM

拒绝策略:根据业务需求选择

5.任务等待队列你知道有哪几种,区别是什么?

ArrayBlockQueue :有界队列,安全,避免OOm,支持公平性设置(默认非公平的)

linkedBlockQueue:可设置有界无界,可能发生oom(

SynchronousQue

http://www.dtcms.com/a/320674.html

相关文章:

  • gmssl私钥文件格式
  • Arm Qt编译Qt例程出错 GLES3/gl3.h: No such file or directory
  • 【前端后端部署】将前后端项目部署到云服务器
  • 终端是什么,怎么用?
  • 基于Spring Boot的Minio图片定时清理实践总结
  • Mac下安装Conda虚拟环境管理器
  • Vue3 计算属性与监听器
  • 基于django电子产品销售系统的设计与实现/基于python的在线购物商城系统
  • 豆包新模型矩阵+PromptPilot:AI开发效率革命的终极方案
  • 3 种简单方法备份 iPhone 上的短信 [2025]
  • 僵尸进程、孤儿进程、进程优先级、/proc 文件系统、CRC 与网络溢出问题处理(实战 + 原理)
  • 从安卓兼容性困境到腾讯Bugly的救赎:全链路崩溃监控解决方案-卓伊凡|bigniu
  • 【前端】纯代码实现Power BI自动化
  • 【Linux系统】万字解析,文件IO
  • 代码随想录刷题Day26
  • 最长回文子串
  • Redis(④-消息队列削峰)
  • 使用OAK相机实现智能物料检测与ABB机械臂抓取
  • 《Hive、HBase、StarRocks、MySQL、OceanBase 全面对比:架构、优缺点与使用场景详解》
  • Numpy科学计算与数据分析:Numpy数据分析与图像处理入门
  • [激光原理与应用-182]:测量仪器 - 光束型 - 光束质量分析仪
  • 无人机航拍数据集|第9期 无人机风力电机表面损伤目标检测YOLO数据集2995张yolov11/yolov8/yolov5可训练
  • WORD接受修订,并修改修订后文字的颜色
  • 2-等级保护
  • LabVIEW多循环架构
  • (已解决)IDEA突然无法使用Git功能
  • 利用千眼狼sCMOS相机开展冷离子云成像与测量实验
  • Mac上安装和配置MySQL(使用Homebrew安装MySQL 8.0)
  • LeetCode 面试经典 150_数组/字符串_加油站(14_134_C++_中等)(贪心算法)
  • OpenBMC Entity Manager 深度解析:架构、原理与应用实践