【深入理解Java原理】线程池原理

本文深入探讨了Java线程池的原理与优势,包括降低资源消耗、提高响应速度及线程管理。线程池的工作流程包括:创建新线程(若当前线程数小于核心线程数)、将任务加入工作队列(队列未满)或执行饱和策略。关键参数如corePoolSize、maximumPoolSize、keepAliveTime和workQueue决定了线程池的行为。拒绝策略包括AbsortPolicy、CallerRunsPolicy、DiscardOldestPolicy和DiscardPolicy。常用的线程池类型有ExecutorService,如newCachedThreadPool适用于短期异步任务。
摘要由CSDN通过智能技术生成

 

 

合理的使用线程池有几个好处

第一: 降低资源消耗,通过线程的重复利用,可以降低 线程创建和销毁的消耗

第二:提高响应速度,任务来时,不用新建线程就能执行

第三: 能够进行线程的管理,线程不能无限制的创建,是稀缺资源。

线程池原理?

1. 判断当前工作线程的个数是否大于核心线程数目,如果不是,那么就新建一个线程来执行任务,如果是,则进入2流程

2.线程池判断工作线程已经到达核心线程数量,但是工作队列没有满,会将新提交的任务加入到工作队列中,如果工作队列也满了,则进入3流程

3. 工作队列满了, 判断工作线程是否处于工作状态,如果没有的话,将任务交给工作线程执行,如果全都处于工作状态,交给 饱和策略进行处理

创建线程池的方式


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangxiaoming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值