Products
GG网络技术分享 2025-11-24 20:42 4
哇哈哈,你们晓得ThreadpoolExecutor吗?它就像一个超级巨大的游乐场,有hen许多细小滑梯,细小朋友Neng玩得开心,而且不会挤在一起哦!下面我就来给你们讲讲这玩意儿超级好玩的ThreadpoolExecutor。

ThreadpoolExecutor有几个超级状态,就像细小朋友在游乐场里的不同活动区域。它们是:RUNNING、SHUTDOWN、STOP、TIDYING和TERMINATED。听起来是不是hen酷?让我来说明白一下:
RUNNING:就像游乐场里细小滑梯正在开动,细小朋友们在上面玩得不亦乐乎。
SHUTDOWN:游乐场要关门了但是细小朋友还在玩,他们会玩完手中的游戏。
STOP:游乐场一下子停了全部的游戏dou打住了细小朋友们dou出来了。
TIDYING:游乐场开头收拾东西,准备明天再开门。
TERMINATED:游乐场Yi经彻头彻尾收拾优良了明天再来玩吧!
ThreadpoolExecutor就像一个超级工厂,NengZuo出hen许多细小滑梯。它的构造方法超级麻烦, 但是我Neng轻巧松介绍一下:
public ThreadPoolExecutor
这里有hen许多参数,就像Zuo细小滑梯的材料。比如 corePoolSize是核心滑梯数量,maximumPoolSize是Zui巨大滑梯数量,workQueue是滑梯的排队区域,threadFactory是滑梯工厂,handler是处理排队细小朋友的策略。
ThreadpoolExecutorNeng处理hen许多任务,就像游乐场Neng一边让hen许多细小朋友玩。但是Ru果任务太许多,就需要有策略来处理。比如当滑梯不够用的时候,细小朋友得怎么办?这里有几个策略:
AbortPolicy:细小朋友哭了不玩了。
CallerRunsPolicy:细小朋友自己去玩别的。
DiscardOldestPolicy:先来的细小朋友被淘汰,后来的细小朋友玩。
DiscardPolicy:细小朋友没地方玩,算了。
ThreadpoolExecutor里面有一个超级巨大的箱子,用来存放细小朋友的任务。这玩意儿箱子叫阻塞队列, 有几种类型:
ArrayBlockingQueue:像一个巨大篮子,只Neng装这么许多细小朋友。
LinkedBlockingQueue:像一条长远龙,细小朋友Neng排队。
SynchronousQueue:细小朋友来了就要玩,不排队。
PriorityBlockingQueue:细小朋友按照年龄巨大细小排队。
DelayQueue:细小朋友先睡一会儿,到时候了再玩。
import java.util.concurrent.*;
public class ThreadPoolDemo {
public static void main {
ThreadPoolExecutor executor = new ThreadPoolExecutor, Executors.defaultThreadFactory, new ThreadPoolExecutor.AbortPolicy);
for {
executor.execute {
@Override
public void run {
try {
Thread.sleep;
} catch {
e.printStackTrace;
}
System.out.println.getName + " is running");
}
});
}
executor.shutdown;
}
}
当游乐场要关门的时候,我们需要关闭ThreadpoolExecutor。有几种关闭方式:
executor.shutdown:磨蹭磨蹭关门,细小朋友Neng磨蹭磨蹭出来。
executor.shutdownNow:立刻关门,细小朋友dou吓跑了。
executor.awaitTermination:等一下细小朋友dou出来了再关门。
怎么样,通过这篇文章,你们对ThreadpoolExecutor有了一定的了解了吧?它真实的就像一个超级巨大的游乐场,让我们的程序Nenggeng加高大效地运行哦!
Demand feedback