ThreadPoolExecutor 目前最常用线程池
//常用构造器
/*
corePoolSize 核心线程数
maximumPoolSize 最大线程容量
keepAliveTime 非核心线程存活时间
TimeUnit (keepAliveTime )的单位,一般为秒
workQueue 工作任务队列 当核心线程数用完时,来访的任务存放的线程任务队列中等候被消费
*/
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
Executors.defaultThreadFactory(), defaultHandler);
}
代码中实操时使用
//1、创建线程池
private final ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 300, 60, TimeUnit.SECONDS, new ArrayBlockingQueue<>(1024));
public void asyncDoMethod(){
//executor.submit(需要异步的内容,完全自定义)
executor.submit(()->this.hello());
}
private void hello(){
System.out.println("hello,this is a asyncDoMethod")
}
能更好的压榨计算机性能
本文详细介绍了Java中的ThreadPoolExecutor线程池,包括核心线程数、最大线程容量、存活时间等关键参数,并展示了如何创建和使用线程池进行异步任务执行,以提高系统性能。
实现方法异步调用,实现高并发&spm=1001.2101.3001.5002&articleId=126480958&d=1&t=3&u=02e8a23773eb4dac9b5b78d6c89ff499)
1万+

被折叠的 条评论
为什么被折叠?



