在使用多个线程之后,把它们放在固定的地方方便拿取,这就是线程池的使用。除此之外,线程池还有响应快、节约资源的优点。同时在创建线程池时,使用new Thread会带来的一些弊端需要了解。最后我们可以明确线程池使用的两个场景,下面一起具体的来来线程池的有关基础知识吧。
1.概念
简单理解,它就是一个管理线程的池子。
2.优点
(1)帮我们管理线程,避免增加创建线程和销毁线程的资源损耗。因为线程其实也是一个对象,创建一个对象,需要经过类加载过程,销毁一个对象,需要走GC垃圾回收流程,都是需要资源开销的。
(2)提高响应速度。 如果任务到达了,相对于从线程池拿线程,重新去创建一条线程执行,速度肯定慢很多。
(3)重复利用。 线程用完,再放回池子,可以达到重复利用的效果,节省资源。
3.使用new Thread()创建线程的弊端
(1)每次通过new Thread()创建对象性能不佳。
(2)线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。
(3)缺乏更多功能,如定时执行、定期执行、线程中断。
4.使用场景
加快请求响应(响应时间优先)
加快处理大任务(吞吐量优先)
以上就是对于java线程池的基础内容介绍,在了解这些基本点后,我们才能在后续对于它的创建和使用,打下良好的基础。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)