收起左侧

[JAVA] 奈学:Executor线程池的概述

0
回复
[复制链接]
avatar
  • TA的每日心情
    qdsmile开心
    2021-3-17 15:10
  • 签到天数: 51 天

    [LV.5]初驻小吧

    14

    主题

    0

    帖子

    1114

    积分

    发表于 2020-8-27 10:42:08 | 显示全部楼层 |阅读模式
      Executor线程池来自于JDK1.5的JUC包,使用线程池的目的或者好处如下:
      实现线程资源的合理复用。线程资源属于操作系统核心资源之一,创建和销毁都需要占用系统资源和大量时间。使用线程池之后,不再需要开发者管理线程,线程的创建和销毁都交给线程池控制,实现线程的复用,减少线程资源的频繁的创建和销毁。
      提升任务执行效率。当新来一个线程任务的时候,由于具有线程复用计数因此可以直接利用现有的线程去执行任务,不需要新建线程,这样一定程度上提升了执行效率。
      可以对线程和线程任务实现实时监控和管理。比如目前活动线程数、曾经的最大线程数、已完成的任务数量等功能;比如控制最大线程数,在线程任务执行前-执行完毕后-线程池停止后具有可选的回调方法、移除某个线程任务、立即停止线程池等功能,他们都可以通过线程池的相关方法调用来实现。
      JDK的线程池可扩展性极强,我们既可以利用定义好的线程池,也可以自定义线程池,很多其他框架组件也都是使用或者扩展了JDK线程池,比如ForkJoinPool分治框架(线程池框架的增强),guava的线程池MoreExecutors就是基于JDK线程池做的扩展,权限框架Shiro的PropertiesRealm属性文件认证类,JAVA RESTFUL请求服务框架Jersey,甚至单元测试框架junit等等框架都是用到了原生Executor线程池,下一篇来看看JDK的Executor线程池的主要原理吧!
    本文来源于:奈学开发者社区,如有侵权,请联系我删除~

    您需要登录后才可以回帖 登录 | 立即注册 QQ登录

    本版积分规则