news 2026/7/14 18:17:12

线程池以及HashTable,HashMap,ConcurrentHashMap之间的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
线程池以及HashTable,HashMap,ConcurrentHashMap之间的区别

什么是线程池

线程池(Thread Pool)是一种线程使用模式,提前创建一定数量的线程并进行复用,统一管理线程的创建、销毁和调度,从而:
  • 降低线程创建和销毁的开销

  • 提高程序响应速度

  • 防止线程数量失控导致系统资源耗尽

线程池的核心参数

  • Java中线程池的核心实现类是 ThreadPoolExecutor。

public ThreadPoolExecutor( int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler )

1、corePoolSize(核心线程数)

  • 线程池中长期存活的线程数量

  • 即使空闲,也不会被销毁(除非设置允许回收)

  • 作用:保证线程池的基本处理能力

2、maximumPoolSize(最大线程数)

  • 线程池中允许存在的最大线程数量

  • 当任务很多、队列已满时,才会创建新线程

  • 作用:限制线程数量,防止资源耗尽

3、keepAliveTime(空闲存活时间)

  • 非核心线程空闲时,最多存活时间

  • 超过该时间将被回收

4、unit(时间单位)

  • keepAliveTime 的时间单位

  • 如:TimeUnit.SECONDS

5、workQueue(任务队列)

  • 用于存放等待执行的任务

  • 常见实现:

6、threadFactory(线程工厂)

  • 用于创建线程

  • 可自定义线程名、优先级、是否守护线程

  • 方便排查问题、日志定位

7、handler(拒绝策略)

  • 当线程池线程数已满 + 队列已满时触发。

线程池的工作流程

  • 线程池处理任务的完整逻辑可总结为5个步骤:

Executors创建常见线程池

  • Java提供了Executors工具类,快速创建线程池(但生产环境不推荐直接使用)。

1、FixedThreadPool(固定大小线程池)

ExecutorService pool = Executors.newFixedThreadPool(5);
  • 特点线程数量固定使用 无界队列 LinkedBlockingQueue

  • 风险任务过多可能 OOM(内存溢出)

  • 适用场景任务量稳定并发数可控

2、SingleThreadExecutor(单线程池)

ExecutorService pool = Executors.newSingleThreadExecutor();
  • 特点只有一个线程保证任务顺序执行

  • 风险任务堆积可能 OOM(内存溢出)

3、CachedThreadPool(缓存线程池)

ExecutorService pool = Executors.newCachedThreadPool();
  • 特点线程数不固定空闲线程 60s 回收使用 SynchronousQueue

  • 风险线程数无限增长,容易耗尽CPU

4、ScheduledThreadPool(定时线程池)

ScheduledExecutorService pool = Executors.newScheduledThreadPool(3);
  • 特点:支持定时、周期任务

HashTable, HashMap, ConcurrentHashMap 之间的区别

主要区别:

文章转载自:我会替风去

原文链接:https://www.cnblogs.com/xi-yongqi/p/19484107

体验地址:http://www.jnpfsoft.com/?from=001YH

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/28 23:41:50

FastGPT知识库必备:OpenDataLab MinerU文档解析避坑指南

FastGPT知识库必备&#xff1a;OpenDataLab MinerU文档解析避坑指南 1. 背景与痛点分析 在构建企业级或研究型知识库时&#xff0c;FastGPT 的核心优势在于其强大的语义理解与问答能力。然而&#xff0c;这一能力的上限高度依赖于输入数据的质量——尤其是当原始资料为 PDF、…

作者头像 李华
网站建设 2026/7/2 2:31:13

qmc-decoder:终极音频解密工具,快速解锁加密音乐

qmc-decoder&#xff1a;终极音频解密工具&#xff0c;快速解锁加密音乐 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经下载了QQ音乐文件&#xff0c;却发现无法…

作者头像 李华
网站建设 2026/7/2 3:55:12

零基础玩转语音合成!科哥开发的Voice Sculptor镜像来了

零基础玩转语音合成&#xff01;科哥开发的Voice Sculptor镜像来了 1. 引言&#xff1a;让声音创作变得简单 在人工智能技术飞速发展的今天&#xff0c;语音合成&#xff08;Text-to-Speech, TTS&#xff09;已不再是科研实验室里的专属技术。随着深度学习模型的进步&#xf…

作者头像 李华
网站建设 2026/7/6 15:23:43

NCM文件解密终极指南:3秒解锁网易云加密音频

NCM文件解密终极指南&#xff1a;3秒解锁网易云加密音频 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾因NCM加密格式而无法在第三方播放器享受网易云音乐&#xff1f;这种专有加密技术虽然保护了版权&#xff0c;却限制了…

作者头像 李华
网站建设 2026/7/11 1:37:23

AI+AR实景应用:快速构建增强现实识别引擎

AIAR实景应用&#xff1a;快速构建增强现实识别引擎 你是不是也遇到过这样的问题&#xff1f;作为一位AR应用开发者&#xff0c;你想在自己的App里加入实时物体识别功能&#xff0c;让用户体验更沉浸、更智能。比如用户用手机摄像头对准一本书&#xff0c;就能弹出作者介绍&am…

作者头像 李华
网站建设 2026/7/6 18:15:18

从零到一:30分钟用PDF-Extract-Kit构建你的智能文档处理系统

从零到一&#xff1a;30分钟用PDF-Extract-Kit构建你的智能文档处理系统 你是不是也遇到过这样的问题&#xff1a;公司每天收到大量PDF格式的合同、报告、技术文档&#xff0c;手动整理信息费时费力&#xff0c;还容易出错&#xff1f;作为初创公司的CTO&#xff0c;你想为知识…

作者头像 李华