线程池参数详解和线程状态解释

线程池参数详解和线程状态解释


什么是线程?
线程池主要是为了解决,应用程序在执行一个新的任务时,需要新建一个线程来执行以及任务执行完毕后销毁线程所带来的消耗。线程池可以在项目初始化时创建一个线程集合,有新的任务需要执行时直接从线程池中获取线程,任务执行完毕再归还线程池等待下次任务分配,从而达到资源复用。

线程池方法
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue workQueue,
RejectedExecutionHandler handler) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
Executors.defaultThreadFactory(), handler);
}
参数解释:
corePoolSize:核心线程数量
maximumPoolSize:最大线程数量,当workQueue(队列缓存已满)并且核心线程<最大线程数量时,会创建一个非核心线程
keepAliveTime:空闲线程的存活时间
unit:keepAliveTime空闲线程存活的时间单位
workQueue:缓存队列
handler:拒绝策略,缓存队列满了,最大线程数量也满了,还有任务在进入时会触发拒绝策略
四种拒绝策略:
DiscardPolicy:直接拒绝不抛异常
AbortPolic:直接抛异常(默认)
DiscardOldestPolicy:丢弃队列中等待时间最久的任务
CallerRunsPolicy:由调用线程来处理该任务
线程的状态:
Thread t1 = new Thread();:初始状态
t1.start();:就绪状态
t1.run();:运行时状态
t1.stop();:阻塞状态
线程结束:终止状态:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值