java线程池7个参数简述

编程入门 行业动态 更新时间:2024-10-11 05:26:27

java<a href=https://www.elefans.com/category/jswz/34/1771240.html style=线程池7个参数简述"/>

java线程池7个参数简述

线程池参数详解:
1、corePoolSize: 核心线程数量,线程池中会存在这么多个线程,当线程数量(包含空闲线程)少于corePoolSize的时候,会优先创建新线程,可以设置allowCoreThreadTimeOut=true来让核心线程池中线程也移除
2、maximumPoolSize: 线程池的最大容量,线程池中的线程数量不得超过这么多个,除非阻塞队列设置为无界的
3、keepAliveTime: 空闲线程存活时间,线程空闲超过这个时间的时候就会销毁
4、unit: keepAliveTime的时间单位,分钟、秒等
5、workQueue: 线程工作队列,阻塞队列,线程池从这个队列中取线程,可以设置的队列类型(容量为:capacity):
ArrayBlockingQueue:有界阻塞队列,当线程数量n:corePoolSize <= n < maximumPoolSize 且 n >= capacity :创建新线程处理任务 当:n >= maximumPoolSize 且 n >= capacity 拒绝线程
LinkedBlockingQueue: 无界队列,maximumPoolSize不起作用,会一直创建线程
SynchronousQuene: 不缓存任务,直接调度执行,线程数超过 maximumPoolSize 则直接拒绝线程
PriorityBlockingQueue: 带优先级的线程队列
6、handler: 拒绝策略,线程数量达到maximumPoolSize时的策略,默认提供了4种:
AbortPolicy: 直接丢弃并抛出异常
CallerRunsPolicy: 线程池没有关闭则直接调用线程的run方法
DiscardPolicy: 直接丢弃任务
DiscardOldestPolicy: 丢弃最早的任务,并尝试把当前任务加入队列
7、threadFactory: 创建线程时使用的工厂,可以对线程进行统一设置,如是否守护线程、线程名等

更多推荐

java线程池7个参数简述

本文发布于:2024-02-14 04:27:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761982.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:线程   参数   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!