创建一个线程池,核心线程数为2,最大线程数为20,队列长度为10的线程池
public static void main(String[] args) {
System.out.println(Thread.currentThread().getName() + "在执行任务");
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(2,20,
5, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>(10));
for (int i = 0; i<10; i++) {
threadPoolExecutor.execute(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "在执行任务");
}
});
}
threadPoolExecutor.shutdown();
}
执行结果如下,模拟发送10次请求,结果是只有核心线程在执行任务