news 2026/2/26 17:16:39

线程池以及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/2/26 3:03:46

Genymotion ARM翻译工具:终极兼容性解决方案

Genymotion ARM翻译工具&#xff1a;终极兼容性解决方案 【免费下载链接】Genymotion_ARM_Translation &#x1f47e;&#x1f47e; Genymotion_ARM_Translation Please enjoy&#xff01; 项目地址: https://gitcode.com/gh_mirrors/ge/Genymotion_ARM_Translation 还在…

作者头像 李华
网站建设 2026/2/11 14:17:38

NCM音频一键解密实用技巧:高效解锁加密音乐文件

NCM音频一键解密实用技巧&#xff1a;高效解锁加密音乐文件 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐的NCM加密格式而烦恼吗&#xff1f;这些音频文件只能在特定播放器中播放&#xff0c;严重限制了你的使用体…

作者头像 李华
网站建设 2026/2/25 11:58:44

NCM音乐文件一键解密全攻略:轻松解锁网易云加密音频

NCM音乐文件一键解密全攻略&#xff1a;轻松解锁网易云加密音频 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐的NCM加密文件无法在其他播放器播放而烦恼吗&#xff1f;&#x1f914; 专业解密工具ncmdump来帮你解…

作者头像 李华
网站建设 2026/2/23 17:42:31

5个最火AI镜像推荐:ComfyUI开箱即用,10块钱全试遍

5个最火AI镜像推荐&#xff1a;ComfyUI开箱即用&#xff0c;10块钱全试遍 你是不是也遇到过这种情况&#xff1a;AI课老师布置作业&#xff0c;要求体验3个不同的AI模型并写报告。你兴致勃勃打开GitHub&#xff0c;结果发现光是“Stable Diffusion”相关的项目就有几十个&…

作者头像 李华
网站建设 2026/2/26 8:53:22

Qwen2.5-0.5B开箱即用镜像:没技术也能玩,点击即体验

Qwen2.5-0.5B开箱即用镜像&#xff1a;没技术也能玩&#xff0c;点击即体验 你是不是也经常被AI搞得一头雾水&#xff1f;看到别人用大模型写文案、做汇报、自动回复客户消息&#xff0c;效率翻倍&#xff0c;自己却连“模型”“部署”这些词都搞不懂。别担心&#xff0c;今天…

作者头像 李华
网站建设 2026/2/22 9:22:46

2002-2024年中国城市建设统计年鉴无缺失面板数据

中国城市建设数据库&#xff0c;是根据历年​《中国城市建设统计年鉴》​数据整理。包括城市人口、建设、财政、投资、供水、节水、燃气、供热、交通、环境、卫生、绿化等13个部分 与团队整理的中国城市数据库不同&#xff0c;中国城市建设数据库覆盖范围更广&#xff0c;包括…

作者头像 李华