news 2026/4/16 21:08: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/4/15 17:30:07

抖音内容自动采集系统:从零搭建智能素材库的完整指南

抖音内容自动采集系统&#xff1a;从零搭建智能素材库的完整指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 想要轻松获取抖音平台的优质内容&#xff0c;却苦于手动下载效率低下&#xff1f;作为内容创…

作者头像 李华
网站建设 2026/4/16 18:16:10

TurboDiffusion SLA TopK调参指南:质量与速度平衡实操

TurboDiffusion SLA TopK调参指南&#xff1a;质量与速度平衡实操 1. 引言 1.1 技术背景与挑战 视频生成技术近年来取得了显著进展&#xff0c;尤其是基于扩散模型的文生视频&#xff08;T2V&#xff09;和图生视频&#xff08;I2V&#xff09;系统。然而&#xff0c;传统方…

作者头像 李华
网站建设 2026/4/16 18:07:14

2026年极品EOR名义雇主服务VS推荐榜单,助力企业轻松应对全球化挑战

EOR名义雇主已成为企业应对全球化挑战的一种有效方式。这种模式允许企业在不同国家雇佣本地员工&#xff0c;而无需在每个国家设立实体公司。通过EOR名义雇主&#xff0c;企业能简化薪资发放和税务合规的流程&#xff0c;确保在遵守当地法律的同时&#xff0c;降低人力资源管理…

作者头像 李华
网站建设 2026/4/16 12:24:02

qmc-decoder:解锁加密音乐的终极免费解决方案

qmc-decoder&#xff1a;解锁加密音乐的终极免费解决方案 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过无法播放的QQ音乐加密文件&#xff1f;qmc-decod…

作者头像 李华
网站建设 2026/4/16 12:27:00

中小企业AI落地指南:YOLO11轻量化部署实战

中小企业AI落地指南&#xff1a;YOLO11轻量化部署实战 1. YOLO11技术背景与核心价值 随着人工智能在工业检测、智能安防、零售分析等场景的广泛应用&#xff0c;中小企业对高效、低成本的AI视觉解决方案需求日益增长。传统目标检测模型往往依赖高性能GPU和复杂部署流程&#…

作者头像 李华
网站建设 2026/4/16 10:43:58

PaddleOCR-VL-WEB实战:医疗影像报告结构化处理

PaddleOCR-VL-WEB实战&#xff1a;医疗影像报告结构化处理 1. 引言 在医疗信息化快速发展的背景下&#xff0c;临床诊疗过程中产生了大量非结构化的医疗文档&#xff0c;尤其是放射科、超声科等生成的医疗影像报告。这些报告通常以PDF或扫描图像形式存储&#xff0c;包含关键…

作者头像 李华