-
newCacheThreadPool(缓存线程池):阻塞队列为SynchronousQueue,核心线程数0,最大线程数为
Integer.MAX_VALUE
,非核心线程存活时间60s
newFixedThreadPool(定长线程池):阻塞队列为LinkedBlockingQueue,可能会导致OOM
newScheduledThreadPool(定长周期线程):阻塞队列为 DelayedWorkQueue
newSingleThreadExecutor(单线程池):阻塞队列为LinkedBlockingQueue,核心线程数和最大线程数为1
-
ThreadPoolExecutor(线程池构造类):
处理流程:核心线程先接需求,当核心线程数满了,任务进入队列,当队列也满了,判断最大线程数是否已满,没有满就创建新线程执行任务,当最大线程数也满了就采取饱和策略
corePoolSize :核心线程数
maximumPoolSize:最大线程数
keepAliveTime:线程存活时间
TimeUnit:存活时间单位
BlockQueue:阻塞队列
ThreadPoolFactory:线程池工厂
-
handler:饱和策略。
分别是:AbortPolicy 抛出异常(默认),DiscardPolicy丢弃,DiscardOldestPolicy丢弃队列中最老的任务当前线程交给线程池处理,CallerRunsPolicy交给调用线程池的线程处理
Executors线程池
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...