还不知道线程池的好处?快来了解一下

时间:2020-12-06 00:40:22
摘要:线程池的好处:重用存在的线程,减少对象创建、消亡的开销,性能佳;可以有效控制最大并发线程数,提高系统资源利用率,同时可以避免过多资源竞争,避免阻塞。

本文分享自华为云社区《【高并发】线程池介绍》,作者: 冰 河 。

1.new Thread弊端

(1)每次new Thread新建对象,性能差。

(2)线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM。

(3)缺少更多的功能,如更多执行、定期执行、线程中断。

2.线程池的好处

(1)重用存在的线程,减少对象创建、消亡的开销,性能佳。

(2)可以有效控制最大并发线程数,提高系统资源利用率,同时可以避免过多资源竞争,避免阻塞。

(3)提供定时执行、定期执行、单线程、并发数控制等功能。

线程池 - ThreadPoolExecutor

ThreadPoolExecutor参数最多的构造方法如下:

public ThreadPoolExecutor(int corePoolSize,
 int maximumPoolSize,
 long keepAliveTime,
 TimeUnit unit,
 BlockingQueue<Runnable> workQueue,
 ThreadFactory threadFactory,
 RejectedExecutionHandler rejectHandler)