Executor线程池来自于JDK1.5的JUC包,使用线程池的目的或者好处如下:
实现线程资源的合理复用。线程资源属于操作系统核心资源之一,创建和销毁都需要占用系统资源和大量时间。使用线程池之后,不再需要开发者管理线程,线程的创建和销毁都交给线程池控制,实现线程的复用,减少线程资源的频繁的创建和销毁。
提升任务执行效率。当新来一个线程任务的时候,由于具有线程复用计数因此可以直接利用现有的线程去执行任务,不需要新建线程,这样一定程度上提升了执行效率。
可以对线程和线程任务实现实时监控和管理。比如目前活动线程数、曾经的最大线程数、已完成的任务数量等功能;比如控制最大线程数,在线程任务执行前-执行完毕后-线程池停止后具有可选的回调方法、移除某个线程任务、立即停止线程池等功能,他们都可以通过线程池的相关方法调用来实现。
JDK的线程池可扩展性极强,我们既可以利用定义好的线程池,也可以自定义线程池,很多其他框架组件也都是使用或者扩展了JDK线程池,比如ForkJoinPool分治框架(线程池框架的增强),guava的线程池MoreExecutors就是基于JDK线程池做的扩展,权限框架Shiro的PropertiesRealm属性文件认证类,JAVA RESTFUL请求服务框架Jersey,甚至单元测试框架junit等等框架都是用到了原生Executor线程池,下一篇来看看JDK的Executor线程池的主要原理吧!
本文来源于:奈学开发者社区,如有侵权,请联系我删除~
|
1、本帖所有言论、观点及图片均为会员个人观点,不代表本站立场。
2、本帖资源内容来源于网友、站友、作者推广引流自愿分享或其他公开网络渠道,仅用于交流与学习参考。
3、如本帖内容涉及任何版权或知识产权问题,请立即点论坛右侧邮件图标联系我们,我们将在核实后及时删除,并致以歉意。
4、本站资料仅供站友个人学习参考,禁止以任何形式进行传播或商用;如下载学习,请务必在 24 小时内删除。