zoukankan      html  css  js  c++  java
  • 奈学:Executor线程池的概述

      Executor线程池来自于JDK1.5的JUC包,使用线程池的目的或者好处如下:

      实现线程资源的合理复用。线程资源属于操作系统核心资源之一,创建和销毁都需要占用系统资源和大量时间。使用线程池之后,不再需要开发者管理线程,线程的创建和销毁都交给线程池控制,实现线程的复用,减少线程资源的频繁的创建和销毁。

      提升任务执行效率。当新来一个线程任务的时候,由于具有线程复用计数因此可以直接利用现有的线程去执行任务,不需要新建线程,这样一定程度上提升了执行效率。

      可以对线程和线程任务实现实时监控和管理。比如目前活动线程数、曾经的最大线程数、已完成的任务数量等功能;比如控制最大线程数,在线程任务执行前-执行完毕后-线程池停止后具有可选的回调方法、移除某个线程任务、立即停止线程池等功能,他们都可以通过线程池的相关方法调用来实现。

      JDK的线程池可扩展性极强,我们既可以利用定义好的线程池,也可以自定义线程池,很多其他框架组件也都是使用或者扩展了JDK线程池,比如ForkJoinPool分治框架(线程池框架的增强),guava的线程池MoreExecutors就是基于JDK线程池做的扩展,权限框架Shiro的PropertiesRealm属性文件认证类,JAVA RESTFUL请求服务框架Jersey,甚至单元测试框架junit等等框架都是用到了原生Executor线程池,下一篇来看看JDK的Executor线程池的主要原理吧!

    本文来源于:奈学开发者社区,如有侵权,请联系我删除~

  • 相关阅读:
    EasyTransaction主要源码分析
    编程哲理小故事:Tina的运动会方阵
    多维扩展点的思考与设计——解决渠道、产品增加引发的腐化问题
    分布式事务框架Seata及EasyTransaction架构的比对思考
    设计,架构,框架之间是什么关系?
    你知道如何画好一幅架构图么?
    学会分享痛苦
    建立你自己的博客
    使用正确的工具软件
    掌握主动权
  • 原文地址:https://www.cnblogs.com/Jss-forever/p/13570074.html
Copyright © 2011-2022 走看看