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

线程池基础知识

线程池

1.什么是线程池?

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

2.线程池工作原理?

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

3.线程池的核心参数

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

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

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

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

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

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

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

workQueue:选择有界队列避免OOM

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

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

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

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

SynchronousQue

http://www.lryc.cn/news/614116.html

相关文章:

  • wstool和catkin_tools工具介绍
  • 智慧社区(十)——声明式日志记录与小区地图功能实现
  • Python实现点云PCA配准——粗配准
  • Ubuntu安装 L20显卡驱动
  • Linux网络--2、Socket编程
  • 中国电信清华:大模型驱动的具身智能发展与挑战综述
  • 动漫软件集合分享
  • Pytest项目_day08(setup、teardown前置后置操作)
  • 144.二叉树的前序遍历
  • 鲸签云解决互联网行业合同管理难题​
  • 【Rust】多级目录模块化集成测试——以Cucumber为例
  • 线程组和线程池的基本用法
  • 【Spring Boot 快速入门】八、登录认证
  • duxapp 2025-05-29 更新 兼容鸿蒙C-API方案,现在鸿蒙端可以用于生产
  • React SSR 水合问题
  • 《告别Bug!GDB/CGDB调试实战指南》
  • TF 上架全流程实战,从构建到 TestFlight 分发
  • UniApp 跳转外部链接实现
  • Elasticsearch LTR(Learning To Rank)从训练到检索与重排
  • Elasticsearch:在向量搜索中使用 Direct IO
  • 力扣-438.找到字符串中所有字母异位词
  • ctfshow_萌新web9-web13-----rce
  • python学智能算法(三十五)|SVM-软边界拉格朗日方程乘子非负性理解
  • LeetCode 刷题【34. 在排序数组中查找元素的第一个和最后一个位置、35. 搜索插入位置】
  • 文件管理从基础到高级:文件描述符、超大文件切片重组与快速删除实战
  • 五、CV_ResNet
  • 腾讯iOA:数据安全的港湾
  • wordpress的wp-config.php文件的详解
  • proteus实现简易DS18B20温度计(stm32)
  • Linux软硬链接与动静态库